From: Willem Toorop Date: Fri, 12 Jul 2024 13:35:02 +0000 (+0200) Subject: Merge branch 'develop' into develop X-Git-Tag: release-1.8.4-rc1~3^2^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F186%2Fhead;p=thirdparty%2Fldns.git Merge branch 'develop' into develop --- 41037cf7568677bd03dcf25c01ea5f7e8d70c3e7 diff --cc .github/workflows/testsuite.yml index 9b5e7dd7,57ca9865..1a25e6d2 --- a/.github/workflows/testsuite.yml +++ b/.github/workflows/testsuite.yml @@@ -11,14 -13,12 +13,14 @@@ jobs runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@main with: submodules: recursive - - run: libtoolize -ci - - run: autoreconf -fi + - run: libtoolize -vci + - run: autoreconf -vfi - run: ./configure + env: + CFLAGS: -g2 -O0 -fsanitize=address,undefined -fno-sanitize-recover - run: make test mac: @@@ -35,9 -37,96 +39,99 @@@ # 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" + + - # As of now the test suite requires OpenSSL, so no tests. - # cf. https://github.com/NLnetLabs/ldns/issues/162 - - run: make + # 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