diff mbox series

[04/11] multipath-tools: github workflows: rebuild containers for rolling distros

Message ID 20211202160652.4576-6-mwilck@suse.com (mailing list archive)
State Not Applicable, archived
Delegated to: christophe varoqui
Headers show
Series Last-minute patches for multipath-tools | expand

Commit Message

Martin Wilck Dec. 2, 2021, 4:06 p.m. UTC
From: Martin Wilck <mwilck@suse.com>

For Debian "sid" and alpine, using a pre-built container makes
no sense if this container is rebuilt only once every few months.
Rebuild these containers during the test. Also, add Fedora rawhide,
which is likely to ship the latest compilers.

Wrt stable distributions, replace fedora-34 with fedora-35 and add
Debian 11 (bullseye).

Signed-off-by: Martin Wilck <mwilck@suse.com>
---
 .github/workflows/native.yaml | 62 +++++++++++++++++++++++++++++++++--
 1 file changed, 60 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/.github/workflows/native.yaml b/.github/workflows/native.yaml
index 2bb1886..19c9e29 100644
--- a/.github/workflows/native.yaml
+++ b/.github/workflows/native.yaml
@@ -8,15 +8,17 @@  on:
   pull_request:
 
 jobs:
-  build-and-test:
+  stable:
     runs-on: ubuntu-20.04
     strategy:
       matrix:
-        os: [buster, jessie, sid, alpine, fedora-34]
+        os: [buster, jessie, bullseye, fedora-35]
         arch: ['', '-i386']
         exclude:
           - os: fedora-34
             arch: '-i386'
+          - os: fedora-35
+            arch: '-i386'
     container: mwilck/multipath-build-${{ matrix.os }}${{ matrix.arch }}
     steps:
       - name: checkout
@@ -30,3 +32,59 @@  jobs:
           CC: clang
         run: make test
 
+  rolling:
+    runs-on: ubuntu-20.04
+    strategy:
+      matrix:
+        os: ['debian:sid', 'alpine', 'fedora:rawhide']
+        arch: ['amd64', 'i386']
+        exclude:
+          - os: 'fedora:rawhide'
+            arch: 'i386'
+    container: ${{ matrix.arch }}/${{ matrix.os }}
+    steps:
+      - name: update
+        if: ${{ matrix.os == 'debian:sid' }}
+        run: apt-get update
+      - name: dependencies-debian
+        if: ${{ matrix.os == 'debian:sid' }}
+        run: >
+          apt-get install --yes -o APT::Immediate-Configure=0
+          gcc clang make pkg-config
+          libdevmapper-dev
+          libreadline-dev
+          libaio-dev
+          libudev-dev
+          libjson-c-dev
+          liburcu-dev
+          libcmocka-dev
+      - name: dependencies-alpine
+        if: ${{ matrix.os == 'alpine' }}
+        run: >
+          apk add make gcc clang cmocka
+          musl-dev lvm2-dev libaio-dev readline-dev ncurses-dev eudev-dev
+          userspace-rcu-dev json-c-dev cmocka-dev
+      - name: dependencies-fedora
+        if: ${{ matrix.os == 'fedora:rawhide' }}
+        run: >
+          dnf install -y
+          make clang gcc pkgconfig
+          libaio-devel
+          device-mapper-devel
+          libselinux-devel
+          libsepol-devel
+          readline-devel
+          ncurses-devel
+          userspace-rcu-devel
+          json-c-devel
+          libcmocka-devel
+      - name: checkout
+        uses: actions/checkout@v1
+      - name: build and test
+        run: make test
+      - name: clean
+        run: make clean
+      - name: clang
+        env:
+          CC: clang
+        run: make test