Merge pull request #245 from paul-internetnz/develop #198
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
env: | |
CFLAGS: -g2 -O0 -fsanitize=address,undefined -fno-sanitize-recover | |
- 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 | |
env: | |
CFLAGS: -g2 -O0 -fsanitize=address,undefined -fno-sanitize-recover | |
- run: make test | |
# 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 }} || ${{ matrix.os.pkginstall }} | |
# libtoolize -vci | |
# autoreconf -vfi | |
# ./configure ${{ matrix.os.configure_args }} | |
# gmake test |