From b32619892f71238b0ef3ee40c9a3e863179e7a2c Mon Sep 17 00:00:00 2001 From: Richard Hansen Date: Sun, 19 May 2024 18:18:47 -0400 Subject: [PATCH 1/7] ci: Delete commented-out centos --- .github/workflows/ci.yml | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 10dbc91..2e9b8dd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -47,30 +47,6 @@ jobs: - name: distribution tarball is complete run: ./.github/workflows/scripts/dist-tarball-check - #test-centos8: - # runs-on: ubuntu-latest - # container: centos:8 - # steps: - # - uses: actions/checkout@v2 - # - name: install dependencies - # run: | - # dnf --refresh --enablerepo=PowerTools install -y \ - # automake \ - # make \ - # perl-HTTP-Daemon \ - # perl-IO-Socket-INET6 \ - # perl-Test-Warnings \ - # perl-core \ - # ; - # - name: autogen - # run: ./autogen - # - name: configure - # run: ./configure - # - name: check - # run: make VERBOSE=1 AM_COLOR_TESTS=always check - # - name: distcheck - # run: make VERBOSE=1 AM_COLOR_TESTS=always distcheck - test-fedora: runs-on: ubuntu-latest container: fedora From c0ba4b7d91a6a3953ef3b8f060810112e487ff42 Mon Sep 17 00:00:00 2001 From: Richard Hansen Date: Sun, 19 May 2024 18:20:15 -0400 Subject: [PATCH 2/7] ci: Test all supported Fedora versions and rawhide --- .github/workflows/ci.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2e9b8dd..5c21841 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -48,8 +48,15 @@ jobs: run: ./.github/workflows/scripts/dist-tarball-check test-fedora: + strategy: + matrix: + image: + - fedora:39 + - fedora:latest + - fedora:rawhide runs-on: ubuntu-latest - container: fedora + container: + image: ${{ matrix.image }} steps: - uses: actions/checkout@v2 - name: install dependencies From 08c914c66006a627c55cc1c986ebcf3715f1d096 Mon Sep 17 00:00:00 2001 From: Richard Hansen Date: Sun, 19 May 2024 18:30:17 -0400 Subject: [PATCH 3/7] ci: Combine RedHat UBI with Fedora --- .github/workflows/ci.yml | 45 +++++++++++++++------------------------- 1 file changed, 17 insertions(+), 28 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5c21841..c563972 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -47,23 +47,37 @@ jobs: - name: distribution tarball is complete run: ./.github/workflows/scripts/dist-tarball-check - test-fedora: + test-fedora-like: strategy: matrix: image: - fedora:39 - fedora:latest - fedora:rawhide + # RedHat UBI is mostly garbage due to a profound lack of basic + # packages. It is tested anyway because it's the closest available + # approximation of RHEL. Some of the packages needed for some tests + # aren't available, so those tests will be skipped. I guess it's + # still better than nothing. + - registry.access.redhat.com/ubi7/ubi:latest runs-on: ubuntu-latest container: image: ${{ matrix.image }} steps: - uses: actions/checkout@v2 - name: install dependencies + # The --skip-broken argument works around RedHat UBI's missing packages. + # (They're only used for testing, so it's OK to not install them.) run: | - dnf --refresh install -y \ + inst="dnf --refresh --skip-broken install -y" + case '${{ matrix.image }}' in + # RedHat UBI 7 (RHEL 7) doesn't have dnf. + *ubi7*) inst="yum --skip-broken install -y";; + esac + ${inst} \ automake \ findutils \ + iproute \ make \ curl \ perl \ @@ -74,6 +88,7 @@ jobs: perl-Test-MockModule \ perl-Test-TCP \ perl-Test-Warnings \ + perl-core \ net-tools \ ; - name: autogen @@ -84,29 +99,3 @@ jobs: run: make VERBOSE=1 AM_COLOR_TESTS=always check - name: distcheck run: make VERBOSE=1 AM_COLOR_TESTS=always distcheck - - test-redhat-ubi7: - runs-on: ubuntu-latest - # we use redhats univeral base image which is not available on docker hub - # https://catalog.redhat.com/software/containers/ubi7/ubi/5c3592dcd70cc534b3a37814 - container: registry.access.redhat.com/ubi7/ubi - steps: - - uses: actions/checkout@v2 - - name: install dependencies - run: | - yum install -y \ - automake \ - make \ - perl-HTTP-Daemon \ - perl-IO-Socket-INET6 \ - perl-core \ - iproute \ - ; - - name: autogen - run: ./autogen - - name: configure - run: ./configure - - name: check - run: make VERBOSE=1 AM_COLOR_TESTS=always check - - name: distcheck - run: make VERBOSE=1 AM_COLOR_TESTS=always distcheck From dd7a8aeb106e6843545cb965758aa6ed18c837d2 Mon Sep 17 00:00:00 2001 From: Richard Hansen Date: Sun, 19 May 2024 18:23:11 -0400 Subject: [PATCH 4/7] ci: Bump actions/checkout to v4 --- .github/workflows/ci.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c563972..5655b2a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,7 +35,7 @@ jobs: net-tools \ make \ ; - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: autogen run: ./autogen - name: configure @@ -64,7 +64,11 @@ jobs: container: image: ${{ matrix.image }} steps: - - uses: actions/checkout@v2 + - if: ${{ matrix.image != 'registry.access.redhat.com/ubi7/ubi:latest' }} + uses: actions/checkout@v4 + # ubi7 is too old for checkout@v4. + - if: ${{ matrix.image == 'registry.access.redhat.com/ubi7/ubi:latest' }} + uses: actions/checkout@v3 - name: install dependencies # The --skip-broken argument works around RedHat UBI's missing packages. # (They're only used for testing, so it's OK to not install them.) From f2c9158da488bbf6f08af02e32d7fb9f9acef42a Mon Sep 17 00:00:00 2001 From: Richard Hansen Date: Sun, 19 May 2024 18:32:05 -0400 Subject: [PATCH 5/7] ci: Test all supported versions of RedHat UBI --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5655b2a..29d0484 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -60,6 +60,8 @@ jobs: # aren't available, so those tests will be skipped. I guess it's # still better than nothing. - registry.access.redhat.com/ubi7/ubi:latest + - registry.access.redhat.com/ubi8/ubi:latest + - registry.access.redhat.com/ubi9/ubi:latest runs-on: ubuntu-latest container: image: ${{ matrix.image }} From 6d2dba3aeed376840d63464b0ff733c5a2ac3822 Mon Sep 17 00:00:00 2001 From: Richard Hansen Date: Sun, 19 May 2024 18:41:29 -0400 Subject: [PATCH 6/7] ci: Upload distribution tarball as artifact This makes it easier for users to try a fix. --- .github/workflows/ci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 29d0484..427b2cc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -46,6 +46,11 @@ jobs: run: make VERBOSE=1 AM_COLOR_TESTS=always distcheck - name: distribution tarball is complete run: ./.github/workflows/scripts/dist-tarball-check + - if: ${{ matrix.image == 'debian:testing' }} + uses: actions/upload-artifact@v4 + with: + name: distribution-tarball + path: ddclient-*.tar.gz test-fedora-like: strategy: From 86031edd2d24604c0b8178cfd2f28f1a06f0e0bb Mon Sep 17 00:00:00 2001 From: Richard Hansen Date: Sun, 19 May 2024 19:06:47 -0400 Subject: [PATCH 7/7] ci: Disable fail-fast --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 427b2cc..de4d443 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,6 +6,7 @@ on: jobs: test-debian-like: strategy: + fail-fast: false matrix: image: - ubuntu:latest @@ -54,6 +55,7 @@ jobs: test-fedora-like: strategy: + fail-fast: false matrix: image: - fedora:39