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 \ libwww-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 - almalinux:8 - almalinux:latest runs-on: ubuntu-latest container: image: ${{ matrix.image }} steps: - uses: actions/checkout@v4 - name: enable repositories (AlmaLinux 8) if: ${{ matrix.image == 'almalinux:8' }} run: | dnf --refresh install -y 'dnf-command(config-manager)' epel-release && dnf config-manager --set-enabled powertools - name: enable repositories (AlmaLinux latest) if: ${{ matrix.image == 'almalinux:latest' }} run: | dnf --refresh install -y 'dnf-command(config-manager)' epel-release && dnf config-manager --set-enabled crb - name: install dependencies # The --skip-broken argument works around missing packages. (They're # only used for testing, so it's OK to not install them.) run: | dnf --refresh install --skip-broken -y \ 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 \ perl-libwww-perl \ 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