On 4/17/23 16:47, 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. > > Signed-off-by: Ales Musil <amu...@redhat.com> > --- > {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 b41f95936..3251d2385 100644 > --- a/.github/workflows/test.yml > +++ b/.github/workflows/test.yml > @@ -14,12 +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 \ > - iputils-arping > - 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 }} > @@ -89,53 +84,8 @@ jobs: > sort -V | tail -1) > working-directory: ovs > > - - 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
Like this we lose the (minor) side effect that we were running self tests as non-root in CI. This is what usually people do too on their dev machines. I think I'd prefer if we could keep that. What do you think of this incremental change? I can fold it in if it looks OK to you: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a89f8a6df1..1d0996ceff 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -85,8 +85,13 @@ jobs: working-directory: ovs - name: build + if: ${{ startsWith(matrix.cfg.testsuite, 'system-test') }} run: sudo -E ./.ci/ci.sh --archive-logs + - name: build + if: ${{ !startsWith(matrix.cfg.testsuite, 'system-test') }} + run: ./.ci/ci.sh --archive-logs + - name: upload logs on failure if: failure() || cancelled() uses: actions/upload-artifact@v3 --- _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev