From: Willem Toorop Date: Fri, 12 Jul 2024 13:01:19 +0000 (+0200) Subject: Merge branch 'develop' into macos_ci X-Git-Tag: release-1.8.4-rc1~12^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=924e19d4c5002ace16284904d6d0ebe053ad65d9;p=thirdparty%2Fldns.git Merge branch 'develop' into macos_ci --- 924e19d4c5002ace16284904d6d0ebe053ad65d9 diff --cc .github/workflows/testsuite.yml index e8108481,74ee2905..1b27aba5 --- a/.github/workflows/testsuite.yml +++ b/.github/workflows/testsuite.yml @@@ -33,4 -37,99 +37,96 @@@ jobs # 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 + - 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 }} + libtoolize -vci + autoreconf -vfi + ./configure ${{ matrix.os.configure_args }} + gmake test