@@ -4,8 +4,8 @@ name: Bind9 Tests
44on :
55 push :
66 branches : [ 'master', 'main', 'release/**' ]
7- # pull_request:
8- # branches: [ '*' ]
7+ pull_request :
8+ branches : [ '*' ]
99
1010concurrency :
1111 group : ${{ github.workflow }}-${{ github.ref }}
@@ -18,52 +18,78 @@ jobs:
1818 with :
1919 wolfssl_ref : ${{ matrix.wolfssl_ref }}
2020 openssl_ref : ${{ matrix.openssl_ref }}
21+ replace_default : ${{ matrix.replace_default }}
2122 strategy :
2223 matrix :
23- wolfssl_ref : [ 'master', 'v5.8.0-stable' ]
24- openssl_ref : [ 'openssl-3.5.0' ]
24+ wolfssl_ref : [ 'v5.8.2-stable' ]
25+ openssl_ref : [ 'openssl-3.5.2' ]
26+ replace_default : [ true ]
2527
2628 test_bind :
2729 runs-on : ubuntu-22.04
30+ container :
31+ image : debian:bookworm
32+ env :
33+ DEBIAN_FRONTEND : noninteractive
2834 needs : build_wolfprovider
2935 # This should be a safe limit for the tests to run.
3036 timeout-minutes : 20
3137 strategy :
3238 fail-fast : false
3339 matrix :
3440 bind_ref : [ 'v9.18.28' ]
35- wolfssl_ref : [ 'master', 'v5.8.0-stable' ]
36- openssl_ref : [ 'openssl-3.5.0' ]
41+ wolfssl_ref : [ 'v5.8.2-stable' ]
42+ openssl_ref : [ 'openssl-3.5.2' ]
43+ replace_default : [ true ]
3744 force_fail : ['WOLFPROV_FORCE_FAIL=1', '']
45+ env :
46+ WOLFSSL_PACKAGES_PATH : /tmp/wolfssl-packages
47+ OPENSSL_PACKAGES_PATH : /tmp/openssl-packages
48+ WOLFPROV_PACKAGES_PATH : /tmp/wolfprov-packages
3849 steps :
3950 - name : Checkout wolfProvider
4051 uses : actions/checkout@v4
4152 with :
4253 fetch-depth : 1
4354
44- - name : Retrieving wolfSSL /wolfProvider from cache
55+ - name : Checking OpenSSL /wolfProvider packages in cache
4556 uses : actions/cache/restore@v4
4657 id : wolfprov-cache
4758 with :
4859 path : |
49- wolfssl-install
50- wolfprov-install
51- openssl-install/lib64
52- openssl-install/include
53- openssl-install/bin
54-
55- key : wolfprov-${{ matrix.wolfssl_ref }}-${{ matrix.openssl_ref }}-${{ github.sha }}
60+ ${{ env.WOLFSSL_PACKAGES_PATH }}
61+ ${{ env.OPENSSL_PACKAGES_PATH }}
62+ ${{ env.WOLFPROV_PACKAGES_PATH }}
63+ key : openssl-wolfprov-debian-packages-${{ github.sha }}${{ matrix.replace_default && '-replace-default' || '' }}
5664 fail-on-cache-miss : true
5765
66+ - name : Install wolfSSL/OpenSSL/wolfprov packages
67+ run : |
68+ printf "Installing OpenSSL/wolfProvider packages:\n"
69+ ls -la ${{ env.WOLFSSL_PACKAGES_PATH }}
70+ ls -la ${{ env.OPENSSL_PACKAGES_PATH }}
71+ ls -la ${{ env.WOLFPROV_PACKAGES_PATH }}
72+
73+ apt install --reinstall -y \
74+ ${{ env.WOLFSSL_PACKAGES_PATH }}/libwolfssl_*.deb
75+
76+ apt install --reinstall -y \
77+ ${{ env.OPENSSL_PACKAGES_PATH }}/openssl_*.deb \
78+ ${{ env.OPENSSL_PACKAGES_PATH }}/libssl3_*.deb \
79+ ${{ env.OPENSSL_PACKAGES_PATH }}/libssl-dev_*.deb
80+
81+ apt install --reinstall -y \
82+ ${{ env.WOLFPROV_PACKAGES_PATH }}/libwolfprov_*.deb
83+
5884 - name : Install bind9 test dependencies
5985 run : |
60- export DEBIAN_FRONTEND=noninteractive
61- sudo apt-get update
62- sudo apt install -y build-essential automake libtool gnutls-bin \
63- pkg-config make libidn2 -dev libuv1 -dev libnghttp2 -dev libcap -dev \
64- libjemalloc-dev zlib1g-dev libxml2-dev libjson-c-dev libcmocka-dev \
65- python3-pytest python3-dnspython python3-hypothesis
66- sudo PERL_MM_USE_DEFAULT=1 cpan -i Net::DNS
86+ apt-get update
87+ apt install -y build-essential automake libtool gnutls-bin \
88+ pkg-config make libidn2-dev libuv1-dev libnghttp2-dev libcap-dev \
89+ libjemalloc -dev zlib1g -dev libxml2 -dev libjson-c-dev libcmocka -dev \
90+ python3-pytest python3-dnspython python3-hypothesis patch iproute2 \
91+ net-tools
92+ PERL_MM_USE_DEFAULT=1 cpan -i Net::DNS
6793
6894 - name : Checkout bind9
6995 uses : actions/checkout@v4
@@ -85,15 +111,14 @@ jobs:
85111
86112 - name : Build and test bind9 with wolfProvider
87113 working-directory : bind9
114+ shell : bash
88115 run : |
89- # Set up the environment for wolfProvider
90- source $GITHUB_WORKSPACE/scripts/env-setup
91-
116+ set +o pipefail # ignore errors from make check
92117 autoreconf -ivf
93118 ./configure
94119 make clean
95120 make -j$(nproc)
96- sudo ./bin/tests/system/ifconfig.sh up
121+ ./bin/tests/system/ifconfig.sh up
97122
98123 export ${{ matrix.force_fail }}
99124 make -j$(nproc) check 2>&1 | tee bind9-test.log
0 commit comments