On 3/29/23 07:32, Ales Musil wrote:
> On Tue, Mar 28, 2023 at 5:31 PM Dumitru Ceara <[email protected]> wrote:
> 
>> On 3/15/23 07:29, Ales Musil wrote:
>>> Move the ci.sh script into .ci folder
>>> and remove the linux-prepare.sh as it
>>> is no longer needed with all the requirements
>>> installed in container.
>>
>> What about the OSX jobs?  Can't we wrap those in ci.sh easily?
>>
> 
> I'm not sure to be honest, trying something on CI is tedious and I don't
> have any
> OSX available to try it out.
> 
> 
>>
>> I wonder if we can change container_exec() so that it runs on the host
>> on OSX.  What do you think?
> 
> 
> It might be possible, afterall podman should work on OSX. IMO it is not a
> crucial part
> for this series so we can always address that in a follow up WDYT?
> 

I was actually thinking of not using containers at all on OSX, just
build as we did before.  But instead of using a separate osx-build.sh
script, just make the new ci.sh script portable enough.

I'd prefer having it in this series to avoid tech debt but I can
understand if it doesn't make it and we do it in a follow up patch.

> 
>>
>> Regards,
>> Dumitru
>>
>>>
>>> Signed-off-by: Ales Musil <[email protected]>
>>> ---
>>>  {utilities/containers => .ci}/ci.sh |  0
>>>  .ci/linux-prepare.sh                | 21 -----------
>>>  .github/workflows/test.yml          | 54 ++---------------------------
>>>  Makefile.am                         |  2 +-
>>>  utilities/automake.mk               |  1 -
>>>  5 files changed, 3 insertions(+), 75 deletions(-)
>>>  rename {utilities/containers => .ci}/ci.sh (100%)
>>>  delete mode 100755 .ci/linux-prepare.sh
>>>
>>> diff --git a/utilities/containers/ci.sh b/.ci/ci.sh
>>> similarity index 100%
>>> rename from utilities/containers/ci.sh
>>> rename to .ci/ci.sh
>>> diff --git a/.ci/linux-prepare.sh b/.ci/linux-prepare.sh
>>> deleted file mode 100755
>>> index 6617d0c42..000000000
>>> --- a/.ci/linux-prepare.sh
>>> +++ /dev/null
>>> @@ -1,21 +0,0 @@
>>> -#!/bin/bash
>>> -
>>> -set -ev
>>> -
>>> -# Build and install sparse.
>>> -#
>>> -# Explicitly disable sparse support for llvm because some travis
>>> -# environments claim to have LLVM (llvm-config exists and works) but
>>> -# linking against it fails.
>>> -# Disabling sqlite support because sindex build fails and we don't
>>> -# really need this utility being installed.
>>> -git clone git://git.kernel.org/pub/scm/devel/sparse/sparse.git
>>> -cd sparse && make -j4 HAVE_LLVM= HAVE_SQLITE= install && cd ..
>>> -
>>> -# Installing wheel separately because it may be needed to build some
>>> -# of the packages during dependency backtracking and pip >= 22.0 will
>>> -# abort backtracking on build failures:
>>> -#     https://github.com/pypa/pip/issues/10655
>>> -pip3 install --disable-pip-version-check --user wheel
>>> -pip3 install --disable-pip-version-check --user \
>>> --r utilities/containers/py-requirements.txt
>>> diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
>>> index 90dc8a6f1..d8b39da2c 100644
>>> --- a/.github/workflows/test.yml
>>> +++ b/.github/workflows/test.yml
>>> @@ -14,11 +14,7 @@ concurrency:
>>>  jobs:
>>>    build-linux:
>>>      env:
>>> -      dependencies: |
>>> -        automake libtool gcc bc libjemalloc2 libjemalloc-dev    \
>>> -        libssl-dev llvm-dev libelf-dev libnuma-dev libpcap-dev  \
>>> -        selinux-policy-dev ncat python3-scapy isc-dhcp-server
>>> -      m32_dependecies: gcc-multilib
>>> +      IMAGE_NAME:  ghcr.io/ovn-org/ovn-tests:ubuntu
>>>        ARCH:        ${{ matrix.cfg.arch }}
>>>        CC:          ${{ matrix.cfg.compiler }}
>>>        LIBS:        ${{ matrix.cfg.libs }}
>>> @@ -56,7 +52,6 @@ jobs:
>>>          - { compiler: clang, testsuite: system-test, sanitizers:
>> sanitizers, test_range: "-100" }
>>>          - { compiler: clang, testsuite: system-test, sanitizers:
>> sanitizers, test_range: "101-200" }
>>>          - { compiler: clang, testsuite: system-test, sanitizers:
>> sanitizers, test_range: "201-" }
>>> -        - { arch: x86, compiler: gcc, opts: --disable-ssl }
>>>
>>>      steps:
>>>      - name: checkout
>>> @@ -80,53 +75,8 @@ jobs:
>>>          path: 'ovs'
>>>          ref: 'master'
>>>
>>> -    - name: update APT cache
>>> -      run:  sudo apt update
>>> -
>>> -    - name: remove netcat-openbsd
>>> -      run:  sudo apt remove -y netcat-openbsd
>>> -
>>> -    - name: install required dependencies
>>> -      run:  sudo apt install -y ${{ env.dependencies }}
>>> -
>>> -    - name: install libunbound libunwind
>>> -      if:   matrix.cfg.arch != 'x86'
>>> -      run:  sudo apt install -y libunbound-dev libunwind-dev
>>> -
>>> -    - name: install 32-bit dependencies
>>> -      if:   matrix.cfg.arch == 'x86'
>>> -      run:  sudo apt install -y ${{ env.m32_dependecies }}
>>> -
>>> -    - name: update PATH
>>> -      run:  |
>>> -        echo "$HOME/bin"        >> $GITHUB_PATH
>>> -        echo "$HOME/.local/bin" >> $GITHUB_PATH
>>> -
>>> -    - name: set up python
>>> -      uses: actions/setup-python@v4
>>> -      with:
>>> -        python-version: '3.x'
>>> -
>>> -    - name: prepare
>>> -      run:  ./.ci/linux-prepare.sh
>>> -
>>>      - name: build
>>> -      run:  ./.ci/linux-build.sh
>>> -
>>> -    - name: copy logs on failure
>>> -      if: failure() || cancelled()
>>> -      run: |
>>> -        # upload-artifact@v3 throws exceptions if it tries to upload
>> socket
>>> -        # files and we could have some socket files in testsuite.dir.
>>> -        # Also, upload-artifact@v3 doesn't work well enough with
>> wildcards.
>>> -        # So, we're just archiving everything here to avoid any issues.
>>> -        mkdir logs
>>> -        cp config.log ./logs/
>>> -        cp -r ./*/_build/sub/tests/testsuite.* ./logs/ || true
>>> -        # System tests are run as root, need to adjust permissions.
>>> -        sudo chmod -R +r ./tests/system-kmod-testsuite.* || true
>>> -        cp -r ./tests/system-kmod-testsuite.* ./logs/ || true
>>> -        tar -czvf logs.tgz logs/
>>> +      run: sudo -E ./.ci/ci.sh --archive-logs
>>>
>>>      - name: upload logs on failure
>>>        if: failure() || cancelled()
>>> diff --git a/Makefile.am b/Makefile.am
>>> index 4be2d48d4..2c4c7eeef 100644
>>> --- a/Makefile.am
>>> +++ b/Makefile.am
>>> @@ -86,8 +86,8 @@ EXTRA_DIST = \
>>>       README.rst \
>>>       NOTICE \
>>>       .cirrus.yml \
>>> +     .ci/ci.sh \
>>>       .ci/linux-build.sh \
>>> -     .ci/linux-prepare.sh \
>>>       .ci/osx-build.sh \
>>>       .ci/osx-prepare.sh \
>>>       .ci/ovn-kubernetes/Dockerfile \
>>> diff --git a/utilities/automake.mk b/utilities/automake.mk
>>> index bb261439d..c44563c26 100644
>>> --- a/utilities/automake.mk
>>> +++ b/utilities/automake.mk
>>> @@ -37,7 +37,6 @@ EXTRA_DIST += \
>>>      utilities/ovn_detrace.py.in \
>>>      utilities/ovndb-servers.ocf \
>>>      utilities/checkpatch.py \
>>> -    utilities/containers/ci.sh \
>>>      utilities/containers/Makefile \
>>>      utilities/containers/py-requirements.txt \
>>>      utilities/containers/fedora/Dockerfile \
>>
>>
> Thanks,
> Ales
> 

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to