Skip to content

Merge pull request #675 from rhansen/ci #917

Merge pull request #675 from rhansen/ci

Merge pull request #675 from rhansen/ci #917

Workflow file for this run

name: CI
on:
push:
pull_request:
jobs:
test-debian-like:
strategy:
fail-fast: false
matrix:
image:
- ubuntu:latest
- ubuntu:20.04
- debian:testing
- debian:stable
- debian:oldstable
runs-on: ubuntu-latest
container:
image: ${{ matrix.image }}
steps:
- name: install dependencies
run: |
apt-get update &&
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
automake \
ca-certificates \
git \
curl \
libhttp-daemon-perl \
libhttp-daemon-ssl-perl \
libplack-perl \
libtest-mockmodule-perl \
libtest-tcp-perl \
libtest-warnings-perl \
liburi-perl \
net-tools \
make \
;
- uses: actions/checkout@v4
- 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
- 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:
fail-fast: false
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
- registry.access.redhat.com/ubi8/ubi:latest
- registry.access.redhat.com/ubi9/ubi:latest
runs-on: ubuntu-latest
container:
image: ${{ matrix.image }}
steps:
- 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.)
run: |
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 \
perl-HTTP-Daemon \
perl-HTTP-Daemon-SSL \
perl-IO-Socket-INET6 \
perl-Plack \
perl-Test-MockModule \
perl-Test-TCP \
perl-Test-Warnings \
perl-core \
net-tools \
;
- 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