diff options
author | Frode Nordahl <frode.nordahl@canonical.com> | 2022-07-14 17:55:41 +0200 |
---|---|---|
committer | Ilya Maximets <i.maximets@ovn.org> | 2022-07-15 13:45:55 +0200 |
commit | ae262ddf229a05e8f400332cb6fbd31980f450f9 (patch) | |
tree | 81497bc1c3ad11dea50d50e29c82ca81340b6b79 /.github/workflows/build-and-test.yml | |
parent | 9990322610f627118e20c54ad749caeb3e99358a (diff) | |
download | openvswitch-ae262ddf229a05e8f400332cb6fbd31980f450f9.tar.gz |
ci: Separate job for debs, ensure built pkg is tested.
Use a separate GitHub Actions job for deb test so that we can
control base image for package test.
The CI deb package test code currently attempts to use `apt` to
install local packages. That may not produce the expected result.
Explicitly install the local packages with `dpkg` after installing
dependencies from `apt` instead.
Also enable test installation of ipsec deb package.
Signed-off-by: Frode Nordahl <frode.nordahl@canonical.com>
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Diffstat (limited to '.github/workflows/build-and-test.yml')
-rw-r--r-- | .github/workflows/build-and-test.yml | 50 |
1 files changed, 36 insertions, 14 deletions
diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index ec34a9b0d..90fe17377 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -9,13 +9,10 @@ jobs: automake libtool gcc bc libjemalloc1 libjemalloc-dev \ libssl-dev llvm-dev libelf-dev libnuma-dev libpcap-dev \ ninja-build selinux-policy-dev - deb_dependencies: | - linux-headers-$(uname -r) build-essential fakeroot devscripts equivs AFXDP: ${{ matrix.afxdp }} ASAN: ${{ matrix.asan }} UBSAN: ${{ matrix.ubsan }} CC: ${{ matrix.compiler }} - DEB_PACKAGE: ${{ matrix.deb_package }} DPDK: ${{ matrix.dpdk }} DPDK_SHARED: ${{ matrix.dpdk_shared }} KERNEL: ${{ matrix.kernel }} @@ -148,11 +145,7 @@ jobs: - name: update APT cache run: sudo apt update || true - name: install common dependencies - if: matrix.deb_package == '' run: sudo apt install -y ${{ env.dependencies }} - - name: install dependencies for debian packages - if: matrix.deb_package != '' - run: sudo apt install -y ${{ env.deb_dependencies }} - name: install libunbound libunwind if: matrix.m32 == '' run: sudo apt install -y libunbound-dev libunwind-dev @@ -163,13 +156,6 @@ jobs: - name: build run: ./.ci/linux-build.sh - - name: upload deb packages - if: matrix.deb_package != '' - uses: actions/upload-artifact@v2 - with: - name: deb-packages - path: '/home/runner/work/ovs/*.deb' - - name: copy logs on failure if: failure() || cancelled() run: | @@ -224,3 +210,39 @@ jobs: with: name: logs-osx-clang---disable-ssl path: config.log + + build-linux-deb: + env: + deb_dependencies: | + linux-headers-$(uname -r) build-essential fakeroot devscripts equivs + DEB_PACKAGE: yes + + name: linux deb + runs-on: ubuntu-22.04 + timeout-minutes: 30 + + steps: + - name: checkout + uses: actions/checkout@v2 + + - name: update PATH + run: | + echo "$HOME/bin" >> $GITHUB_PATH + echo "$HOME/.local/bin" >> $GITHUB_PATH + + - name: update APT cache + run: sudo apt update || true + - name: install dependencies for debian packages + run: sudo apt install -y ${{ env.deb_dependencies }} + + - name: prepare + run: ./.ci/linux-prepare.sh + + - name: build + run: ./.ci/linux-build.sh + + - name: upload deb packages + uses: actions/upload-artifact@v2 + with: + name: deb-packages + path: '/home/runner/work/ovs/*.deb' |