On Fri, Apr 21, 2023 at 3:09 PM Dumitru Ceara <[email protected]> wrote:
> 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 <[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 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 > --- > > Looks good, thank you. -- Ales Musil Senior Software Engineer - OVN Core Red Hat EMEA <https://www.redhat.com> [email protected] IM: amusil <https://red.ht/sig> _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
