summaryrefslogtreecommitdiff
path: root/.github/workflows/build-and-test.yml
diff options
context:
space:
mode:
authorFrode Nordahl <frode.nordahl@canonical.com>2022-07-14 17:55:41 +0200
committerIlya Maximets <i.maximets@ovn.org>2022-07-15 13:45:55 +0200
commitae262ddf229a05e8f400332cb6fbd31980f450f9 (patch)
tree81497bc1c3ad11dea50d50e29c82ca81340b6b79 /.github/workflows/build-and-test.yml
parent9990322610f627118e20c54ad749caeb3e99358a (diff)
downloadopenvswitch-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.yml50
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'