Skip to content

Merge pull request #245 from paul-internetnz/develop #198

Merge pull request #245 from paul-internetnz/develop

Merge pull request #245 from paul-internetnz/develop #198

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
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