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

mwilck at suse.com mwilck at suse.com
Thu Dec 2 16:06:45 UTC 2021


From: Martin Wilck <mwilck at 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 at suse.com>
---
 .github/workflows/native.yaml | 62 +++++++++++++++++++++++++++++++++--
 1 file changed, 60 insertions(+), 2 deletions(-)

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 at v1
+      - name: build and test
+        run: make test
+      - name: clean
+        run: make clean
+      - name: clang
+        env:
+          CC: clang
+        run: make test
-- 
2.34.0





More information about the dm-devel mailing list