Merge pull request #675 from rhansen/ci

CI improvements
This commit is contained in:
Richard Hansen 2024-05-19 20:31:34 -04:00 committed by GitHub
commit 7b18e4bce4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -6,6 +6,7 @@ on:
jobs: jobs:
test-debian-like: test-debian-like:
strategy: strategy:
fail-fast: false
matrix: matrix:
image: image:
- ubuntu:latest - ubuntu:latest
@ -35,7 +36,7 @@ jobs:
net-tools \ net-tools \
make \ make \
; ;
- uses: actions/checkout@v2 - uses: actions/checkout@v4
- name: autogen - name: autogen
run: ./autogen run: ./autogen
- name: configure - name: configure
@ -46,41 +47,50 @@ jobs:
run: make VERBOSE=1 AM_COLOR_TESTS=always distcheck run: make VERBOSE=1 AM_COLOR_TESTS=always distcheck
- name: distribution tarball is complete - name: distribution tarball is complete
run: ./.github/workflows/scripts/dist-tarball-check 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-centos8: test-fedora-like:
# runs-on: ubuntu-latest strategy:
# container: centos:8 fail-fast: false
# steps: matrix:
# - uses: actions/checkout@v2 image:
# - name: install dependencies - fedora:39
# run: | - fedora:latest
# dnf --refresh --enablerepo=PowerTools install -y \ - fedora:rawhide
# automake \ # RedHat UBI is mostly garbage due to a profound lack of basic
# make \ # packages. It is tested anyway because it's the closest available
# perl-HTTP-Daemon \ # approximation of RHEL. Some of the packages needed for some tests
# perl-IO-Socket-INET6 \ # aren't available, so those tests will be skipped. I guess it's
# perl-Test-Warnings \ # still better than nothing.
# perl-core \ - registry.access.redhat.com/ubi7/ubi:latest
# ; - registry.access.redhat.com/ubi8/ubi:latest
# - name: autogen - registry.access.redhat.com/ubi9/ubi:latest
# 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 runs-on: ubuntu-latest
container: fedora container:
image: ${{ matrix.image }}
steps: 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 - 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: | 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 \ automake \
findutils \ findutils \
iproute \
make \ make \
curl \ curl \
perl \ perl \
@ -91,6 +101,7 @@ jobs:
perl-Test-MockModule \ perl-Test-MockModule \
perl-Test-TCP \ perl-Test-TCP \
perl-Test-Warnings \ perl-Test-Warnings \
perl-core \
net-tools \ net-tools \
; ;
- name: autogen - name: autogen
@ -101,29 +112,3 @@ jobs:
run: make VERBOSE=1 AM_COLOR_TESTS=always check run: make VERBOSE=1 AM_COLOR_TESTS=always check
- name: distcheck - name: distcheck
run: make VERBOSE=1 AM_COLOR_TESTS=always 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