Skip to content

Merge pull request #203 from FGasper/expand_ci #165

Merge pull request #203 from FGasper/expand_ci

Merge pull request #203 from FGasper/expand_ci #165

Workflow file for this run

on:
push:
branches:
- '*'
tags-ignore:
- '*'
pull_request:
jobs:
linux:
name: Linux (Ubuntu)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@main
with:
submodules: recursive
- run: libtoolize -vci
- run: autoreconf -vfi
- run: ./configure
- run: make test
mac:
name: macOS
runs-on: macos-latest
steps:
- run: brew install automake libtool
- uses: actions/checkout@main
with:
submodules: recursive
- run: glibtoolize -vci
- run: autoreconf -vfi
# macOS’s system OpenSSL (LibreSSL, actually) isn’t meant for linking,
# and Homebrew’s# OpenSSL isn’t CI-friendly. So build without OpenSSL.
- run: ./configure --without-ssl --disable-sha2 --disable-gost --disable-ecdsa --disable-dane
# As of now the test suite requires OpenSSL, so no tests.
# cf. https://github.com/NLnetLabs/ldns/issues/162
- run: make
# Pending https://github.com/NLnetLabs/ldns/issues/197,
# only builds succeed here.
cygwin:
name: Cygwin
runs-on: windows-latest
steps:
- name: Make git ignore line breaks
run: git config --global core.autocrlf false
- name: Set up Cygwin
uses: cygwin/cygwin-install-action@master
with:
packages: make gcc-g++ bash libtool automake autoconf libssl-devel bind-utils
- uses: actions/checkout@main
with:
submodules: recursive
- shell: C:\cygwin\bin\bash.exe --login --norc -eo pipefail -o igncr '{0}'
name: Build
run: |
cd $GITHUB_WORKSPACE
libtoolize -vci
autoreconf -vfi
./configure
make
qemu-alpine:
name: Linux (Alpine, ${{ matrix.platform }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
platform:
- i386
- arm32v6
- arm32v7
- arm64v8
- s390x
steps:
- uses: actions/checkout@main
with:
submodules: recursive
- name: Get the qemu container
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
- name: "${{ matrix.platform }}: Build and test"
run: docker run --rm --interactive --mount type=bind,source=$(pwd),target=/host ${{ matrix.platform }}/alpine sh -c "apk add make gcc libc-dev libtool automake autoconf openssl-dev m4 indent bash bind-tools && cd /host && libtoolize -vci && autoreconf -vfi && ./configure && make test"
BSDs:
name: ${{ matrix.os.dispname }} ${{ matrix.os.version }}
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
os:
- name: freebsd
dispname: FreeBSD
version: '13.0'
pkginstall: pkg install -y libtool automake bind-tools gmake gindent
env:
configure_args:
# OpenBSD seems to require explicit auto* versions.
- name: openbsd
dispname: OpenBSD
version: '7.1'
pkginstall: pkg_add -v libtool gmake gindent automake-1.16.3 autoconf-2.71
env: AUTOCONF_VERSION=2.71 AUTOMAKE_VERSION=1.16
configure_args: --disable-dane-verify
steps:
- uses: actions/checkout@main
with:
submodules: recursive
- name: Build and test on ${{ matrix.os.name }}
uses: cross-platform-actions/action@master
with:
operating_system: ${{ matrix.os.name }}
version: ${{ matrix.os.version }}
shell: bash
run: |
export DUMMY12345=1 ${{ matrix.os.env }}
sudo ${{ matrix.os.pkginstall }}
libtoolize -vci
autoreconf -vfi
./configure ${{ matrix.os.configure_args }}
gmake test