diff --git a/.github/scripts/check-workflow-result.sh b/.github/scripts/check-workflow-result.sh index 6642959b..e35aaab0 100755 --- a/.github/scripts/check-workflow-result.sh +++ b/.github/scripts/check-workflow-result.sh @@ -293,6 +293,23 @@ if [ "$WOLFPROV_FORCE_FAIL" = "WOLFPROV_FORCE_FAIL=1" ]; then echo "Error: $IPERF_TEST_LOG not found" exit 1 fi + # ----- BIND9 ----- + elif [ "$TEST_SUITE" = "bind9" ]; then + if [ -f "bind9-test.log" ]; then + # Check for expected error count (12 errors) and non-zero exit code + if grep -q "ERROR: 12" bind9-test.log && [ $TEST_RESULT -ne 0 ]; then + echo "PASS: BIND9 tests failed as expected with force fail enabled (12 errors)" + exit 0 + else + echo "FAIL: BIND9 tests did not fail as expected with force fail enabled" + echo " Expected: 12 errors and non-zero exit code" + echo " Got: $(grep 'ERROR:' bind9-test.log | tail -1) and exit code $TEST_RESULT" + exit 1 + fi + else + echo "Error: bind9-test.log not found" + exit 1 + fi else if [ $TEST_RESULT -eq 0 ]; then echo "$TEST_SUITE tests unexpectedly succeeded with force fail enabled" diff --git a/.github/workflows/bind9.yml b/.github/workflows/bind9.yml index a247c132..f6638ac7 100644 --- a/.github/workflows/bind9.yml +++ b/.github/workflows/bind9.yml @@ -18,13 +18,19 @@ jobs: with: wolfssl_ref: ${{ matrix.wolfssl_ref }} openssl_ref: ${{ matrix.openssl_ref }} + replace_default: ${{ matrix.replace_default || false }} strategy: matrix: wolfssl_ref: [ 'master', 'v5.8.0-stable' ] openssl_ref: [ 'openssl-3.5.0' ] + replace_default: [ false, true ] test_bind: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider # This should be a safe limit for the tests to run. timeout-minutes: 20 @@ -34,8 +40,14 @@ jobs: bind_ref: [ 'v9.18.28' ] wolfssl_ref: [ 'master', 'v5.8.0-stable' ] openssl_ref: [ 'openssl-3.5.0' ] + replace_default: [ false, true ] force_fail: ['WOLFPROV_FORCE_FAIL=1', ''] steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: @@ -51,8 +63,9 @@ jobs: openssl-install/lib64 openssl-install/include openssl-install/bin + ${{ matrix.replace_default && 'libdefault-stub-install' || '' }} - key: wolfprov-${{ matrix.wolfssl_ref }}-${{ matrix.openssl_ref }}-${{ github.sha }} + key: wolfprov${{ matrix.replace_default && '-replace-default' || '' }}-${{ matrix.wolfssl_ref }}-${{ matrix.openssl_ref }}-${{ github.sha }} fail-on-cache-miss: true - name: Install bind9 test dependencies @@ -62,7 +75,7 @@ jobs: sudo apt install -y build-essential automake libtool gnutls-bin \ pkg-config make libidn2-dev libuv1-dev libnghttp2-dev libcap-dev \ libjemalloc-dev zlib1g-dev libxml2-dev libjson-c-dev libcmocka-dev \ - python3-pytest python3-dnspython python3-hypothesis + python3-pytest python3-dnspython python3-hypothesis net-tools iproute2 sudo PERL_MM_USE_DEFAULT=1 cpan -i Net::DNS - name: Checkout bind9 @@ -85,6 +98,7 @@ jobs: - name: Build and test bind9 with wolfProvider working-directory: bind9 + shell: bash run: | # Set up the environment for wolfProvider source $GITHUB_WORKSPACE/scripts/env-setup diff --git a/.github/workflows/build-wolfprovider.yml b/.github/workflows/build-wolfprovider.yml index 1f315eef..79db315e 100644 --- a/.github/workflows/build-wolfprovider.yml +++ b/.github/workflows/build-wolfprovider.yml @@ -9,6 +9,11 @@ on: openssl_ref: required: true type: string + replace_default: + required: false + type: boolean + default: false + description: "Build with --replace-default flag" outputs: cache_key: description: "Cache key for the build artifacts" @@ -20,7 +25,7 @@ jobs: runs-on: ubuntu-22.04 timeout-minutes: 20 outputs: - cache_key: wolfprov-${{ inputs.wolfssl_ref }}-${{ inputs.openssl_ref }}-${{ github.sha }} + cache_key: wolfprov${{ inputs.replace_default && '-replace-default' || '' }}-${{ inputs.wolfssl_ref }}-${{ inputs.openssl_ref }}-${{ github.sha }} steps: - name: Checkout wolfProvider uses: actions/checkout@v4 @@ -52,7 +57,8 @@ jobs: with: path: | openssl-install - key: ossl-depends-${{ steps.openssl-ref.outputs.ref }} + ${{ inputs.replace_default && 'libdefault-stub-install' || '' }} + key: ossl${{ inputs.replace_default && '-replace-default' || '' }}-depends-${{ steps.openssl-ref.outputs.ref }} lookup-only: false # Look for a cached version of WolfSSL @@ -67,7 +73,12 @@ jobs: - name: Build wolfProvider run: | - OPENSSL_TAG=${{ inputs.openssl_ref }} WOLFSSL_TAG=${{ inputs.wolfssl_ref }} ./scripts/build-wolfprovider.sh + # Clean if there's a build mode mismatch + if ! OPENSSL_TAG=${{ inputs.openssl_ref }} WOLFSSL_TAG=${{ inputs.wolfssl_ref }} ./scripts/build-wolfprovider.sh ${{ inputs.replace_default && '--replace-default' || '' }}; then + echo "Build failed, attempting distclean and rebuild..." + ./scripts/build-wolfprovider.sh --distclean + OPENSSL_TAG=${{ inputs.openssl_ref }} WOLFSSL_TAG=${{ inputs.wolfssl_ref }} ./scripts/build-wolfprovider.sh ${{ inputs.replace_default && '--replace-default' || '' }} + fi # Save the wolfProvider outputs for use by the parent jobs. # Note that we don't try to restore since it will likely always @@ -81,7 +92,8 @@ jobs: openssl-install/lib64 openssl-install/include openssl-install/bin - key: wolfprov-${{ inputs.wolfssl_ref }}-${{ inputs.openssl_ref }}-${{ github.sha }} + ${{ inputs.replace_default && 'libdefault-stub-install' || '' }} + key: wolfprov${{ inputs.replace_default && '-replace-default' || '' }}-${{ inputs.wolfssl_ref }}-${{ inputs.openssl_ref }}-${{ github.sha }} # If openssl cache miss, save it to the cache - name: Save OpenSSL into cache @@ -90,7 +102,8 @@ jobs: with: path: | openssl-install - key: ossl-depends-${{ steps.openssl-ref.outputs.ref }} + ${{ inputs.replace_default && 'libdefault-stub-install' || '' }} + key: ossl${{ inputs.replace_default && '-replace-default' || '' }}-depends-${{ steps.openssl-ref.outputs.ref }} - name: Save WolfSSL into cache if: steps.wolfssl-cache.outputs.cache-hit != 'true' diff --git a/.github/workflows/cjose.yml b/.github/workflows/cjose.yml index 98b1ea67..3a197460 100644 --- a/.github/workflows/cjose.yml +++ b/.github/workflows/cjose.yml @@ -18,23 +18,41 @@ jobs: with: wolfssl_ref: ${{ matrix.wolfssl_ref }} openssl_ref: ${{ matrix.openssl_ref }} + replace_default: ${{ matrix.replace_default || false }} strategy: matrix: wolfssl_ref: [ 'master', 'v5.8.0-stable' ] openssl_ref: [ 'openssl-3.5.0' ] + replace_default: [ false, true ] + exclude: + - wolfssl_ref: 'master' + replace_default: true test_cjose: runs-on: ubuntu-22.04 + container: ${{ matrix.replace_default && 'debian:bookworm' || null }} + env: + DEBIAN_FRONTEND: ${{ matrix.replace_default && 'noninteractive' || '' }} needs: build_wolfprovider # This should be a safe limit for the tests to run. timeout-minutes: 20 strategy: matrix: - cjose_ref: [ 'master', 'v0.6.2.1' ] + cjose_ref: [ 'v0.6.2.1' ] wolfssl_ref: [ 'master', 'v5.8.0-stable' ] openssl_ref: [ 'openssl-3.5.0' ] force_fail: [ 'WOLFPROV_FORCE_FAIL=1', '' ] + replace_default: [ false, true ] + exclude: + - wolfssl_ref: 'master' + replace_default: true steps: + - name: Install dependencies (Docker only) + if: ${{ matrix.replace_default }} + run: | + apt-get update + apt-get install -y sudo curl jq + - name: Checkout wolfProvider uses: actions/checkout@v4 with: @@ -50,13 +68,19 @@ jobs: openssl-install/lib64 openssl-install/include openssl-install/bin + ${{ matrix.replace_default && 'libdefault-stub-install' || '' }} - key: wolfprov-${{ matrix.wolfssl_ref }}-${{ matrix.openssl_ref }}-${{ github.sha }} + key: wolfprov${{ matrix.replace_default && '-replace-default' || '' }}-${{ matrix.wolfssl_ref }}-${{ matrix.openssl_ref }}-${{ github.sha }} + restore-keys: | + wolfprov${{ matrix.replace_default && '-replace-default' || '' }}-${{ matrix.wolfssl_ref }}-${{ matrix.openssl_ref }}- fail-on-cache-miss: true - name: Install cjose dependencies run: | - sudo apt-get install -y libjansson-dev check + export DEBIAN_FRONTEND=noninteractive + sudo apt-get update + sudo apt-get install -y build-essential autoconf automake libtool \ + pkg-config gcc make libjansson-dev check - name: Download cjose uses: actions/checkout@v4 @@ -68,18 +92,27 @@ jobs: - name: Build cjose working-directory: cjose + shell: bash run: | + # Set up the environment for wolfProvider + source $GITHUB_WORKSPACE/scripts/env-setup + + # Set additional environment variables for OpenSSL + export OPENSSL_INSTALL=$GITHUB_WORKSPACE/openssl-install + export LDFLAGS="-L${OPENSSL_INSTALL}/lib64 -L${OPENSSL_INSTALL}/lib" + export CPPFLAGS="-I${OPENSSL_INSTALL}/include" + export PKG_CONFIG_PATH="${OPENSSL_INSTALL}/lib64/pkgconfig:${OPENSSL_INSTALL}/lib/pkgconfig:${PKG_CONFIG_PATH}" + # Configure with OpenSSL - ./configure CFLAGS="-Wno-error=deprecated-declarations" --with-openssl=$GITHUB_WORKSPACE/openssl-install + ./configure CFLAGS="-Wno-error=deprecated-declarations" --with-openssl=$OPENSSL_INSTALL # Build cjose make - name: Run cjose tests working-directory: cjose + shell: bash run: | - # Set up the environment for wolfProvider - source $GITHUB_WORKSPACE/scripts/env-setup export ${{ matrix.force_fail }} # Run tests diff --git a/.github/workflows/cmdline.yml b/.github/workflows/cmdline.yml index 06646dc3..a241ab08 100644 --- a/.github/workflows/cmdline.yml +++ b/.github/workflows/cmdline.yml @@ -51,7 +51,7 @@ jobs: # If not yet built this version, build it now - name: Build wolfProvider # Only run the test for a cache miss. On hit, we've already run the test. - if: steps.wolfprov-cache-restore.cache-hit != 'true' + if: steps.wolfprov-cache.outputs.cache-hit != 'true' run: | ${{ matrix.debug }} OPENSSL_TAG=${{ matrix.openssl_ref }} WOLFSSL_TAG=${{ matrix.wolfssl_ref }} ./scripts/build-wolfprovider.sh diff --git a/.github/workflows/curl.yml b/.github/workflows/curl.yml index 204eaa6a..eab87a29 100644 --- a/.github/workflows/curl.yml +++ b/.github/workflows/curl.yml @@ -25,6 +25,10 @@ jobs: test_curl: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider # This should be a safe limit for the tests to run. timeout-minutes: 20 @@ -38,6 +42,11 @@ jobs: - curl_ref: 'master' force_fail: 'WOLFPROV_FORCE_FAIL=1' steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: @@ -59,8 +68,20 @@ jobs: - name: Install dependencies run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update - sudo apt-get install nghttp2 libpsl5 libpsl-dev python3-impacket + sudo apt-get install -y build-essential autoconf automake libtool \ + pkg-config nghttp2 libpsl5 libpsl-dev python3-impacket + + - name: Set up environment for curl build + run: | + # Set up the environment for wolfProvider + source $GITHUB_WORKSPACE/scripts/env-setup + echo "OPENSSL_INSTALL=$OPENSSL_INSTALL" >> $GITHUB_ENV + echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" >> $GITHUB_ENV + echo "PKG_CONFIG_PATH=$PKG_CONFIG_PATH" >> $GITHUB_ENV + echo "CPPFLAGS=$CPPFLAGS" >> $GITHUB_ENV + echo "LDFLAGS=$LDFLAGS" >> $GITHUB_ENV - name: Build curl uses: wolfSSL/actions-build-autotools-project@v1 @@ -68,7 +89,7 @@ jobs: repository: curl/curl path: curl ref: ${{ matrix.curl_ref }} - configure: --with-openssl + configure: --with-openssl=$OPENSSL_INSTALL check: false - name: Generate certificates for curl master force-fail tests diff --git a/.github/workflows/grpc.yml b/.github/workflows/grpc.yml index 58af58db..963c853d 100644 --- a/.github/workflows/grpc.yml +++ b/.github/workflows/grpc.yml @@ -25,6 +25,10 @@ jobs: test_grpc: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider # This should be a safe limit for the tests to run. timeout-minutes: 30 @@ -42,6 +46,11 @@ jobs: wolfssl_ref: [ 'master', 'v5.8.0-stable' ] openssl_ref: [ 'openssl-3.5.0' ] steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: @@ -68,8 +77,10 @@ jobs: - name: Install prerequisites run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update - sudo apt-get install -y build-essential autoconf libtool pkg-config clang libc++-dev + sudo apt-get install -y build-essential autoconf libtool pkg-config \ + clang libc++-dev iproute2 net-tools - name: Setup cmake version uses: jwlawson/actions-setup-cmake@v2 diff --git a/.github/workflows/iperf.yml b/.github/workflows/iperf.yml index c9528ab9..bad01962 100644 --- a/.github/workflows/iperf.yml +++ b/.github/workflows/iperf.yml @@ -25,6 +25,10 @@ jobs: test_iperf: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider # This should be a safe limit for the tests to run. timeout-minutes: 20 @@ -35,6 +39,11 @@ jobs: iperf_ref: [ 'master', '3.12' ] force_fail: ['WOLFPROV_FORCE_FAIL=1', ''] steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: @@ -56,8 +65,9 @@ jobs: - name: Install dependencies run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update - sudo apt-get install build-essential autoconf libtool pkg-config clang libc++-dev + sudo apt-get install -y build-essential autoconf libtool pkg-config clang libc++-dev - name: Checkout iperf uses: actions/checkout@v4 @@ -68,7 +78,13 @@ jobs: - name: Build iperf working-directory: iperf + shell: bash run: | + # Set up the environment for wolfProvider + source $GITHUB_WORKSPACE/scripts/env-setup + export LDFLAGS="-L${OPENSSL_INSTALL}/lib64" + export CPPFLAGS="-I${OPENSSL_INSTALL}/include" + # Configure with OpenSSL ./configure --with-openssl=$GITHUB_WORKSPACE/openssl-install @@ -90,9 +106,8 @@ jobs: - name: Run tests working-directory: iperf + shell: bash run: | - # Set up the environment for wolfProvider - source $GITHUB_WORKSPACE/scripts/env-setup export ${{ matrix.force_fail }} # Test variables for iperf diff --git a/.github/workflows/ipmitool.yml b/.github/workflows/ipmitool.yml index c8307e19..ae984b04 100644 --- a/.github/workflows/ipmitool.yml +++ b/.github/workflows/ipmitool.yml @@ -25,6 +25,10 @@ jobs: test_ipmitool: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider # This should be a safe limit for the tests to run. timeout-minutes: 20 @@ -35,6 +39,11 @@ jobs: wolfssl_ref: [ 'master', 'v5.8.0-stable' ] openssl_ref: [ 'openssl-3.5.0' ] steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: @@ -58,7 +67,8 @@ jobs: run: | export DEBIAN_FRONTEND=noninteractive sudo apt-get update - sudo apt-get install -y libreadline-dev + sudo apt-get install -y build-essential autoconf automake libtool \ + pkg-config libreadline-dev - name: Build ipmitool with wolfProvider uses: wolfSSL/actions-build-autotools-project@v1 @@ -70,6 +80,7 @@ jobs: - name: Confirm built with OpenSSL and test with wolfProvider working-directory: ipmitool + shell: bash run: | # Set up the environment for wolfProvider source $GITHUB_WORKSPACE/scripts/env-setup diff --git a/.github/workflows/krb5.yml b/.github/workflows/krb5.yml index de0a5d0c..c1aab813 100644 --- a/.github/workflows/krb5.yml +++ b/.github/workflows/krb5.yml @@ -25,6 +25,10 @@ jobs: test_krb5: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider # This should be a safe limit for the tests to run. timeout-minutes: 30 @@ -35,6 +39,11 @@ jobs: openssl_ref: [ 'openssl-3.5.0' ] force_fail: [ 'WOLFPROV_FORCE_FAIL=1', '' ] steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: @@ -55,6 +64,7 @@ jobs: - name: Install KRB5 dependencies run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update sudo apt-get install -y \ build-essential autoconf automake libtool \ @@ -83,6 +93,7 @@ jobs: - name: Build and test KRB5 with wolfProvider working-directory: krb5 + shell: bash run: | # Build KRB5 cd src diff --git a/.github/workflows/libcryptsetup.yml b/.github/workflows/libcryptsetup.yml index 19e727e9..cb1986d1 100644 --- a/.github/workflows/libcryptsetup.yml +++ b/.github/workflows/libcryptsetup.yml @@ -25,6 +25,10 @@ jobs: test_cryptsetup: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider # This should be a safe limit for the tests to run. timeout-minutes: 20 @@ -37,6 +41,11 @@ jobs: force_fail: ['WOLFPROV_FORCE_FAIL=1', ''] steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: @@ -58,6 +67,7 @@ jobs: - name: Install dependencies run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update sudo apt-get install -y \ build-essential autoconf asciidoctor gettext autopoint libtool \ diff --git a/.github/workflows/libeac3.yml b/.github/workflows/libeac3.yml index e6776a7a..eb08dbbc 100644 --- a/.github/workflows/libeac3.yml +++ b/.github/workflows/libeac3.yml @@ -25,6 +25,10 @@ jobs: test_libeac3: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider # This should be a safe limit for the tests to run. timeout-minutes: 20 @@ -36,6 +40,11 @@ jobs: force_fail: [ 'WOLFPROV_FORCE_FAIL=1', '' ] steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + # Checkout the source so we can run the check-workflow-result script. - name: Checkout wolfProvider uses: actions/checkout@v4 @@ -57,6 +66,7 @@ jobs: - name: Install libeac3 dependencies run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update sudo apt-get install -y autoconf automake libtool libc6 help2man gengetopt pkg-config m4 libeac3 diff --git a/.github/workflows/libfido2.yml b/.github/workflows/libfido2.yml index b95f7c73..832d0a90 100644 --- a/.github/workflows/libfido2.yml +++ b/.github/workflows/libfido2.yml @@ -21,6 +21,10 @@ jobs: test_libfido2: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider timeout-minutes: 15 strategy: @@ -33,6 +37,11 @@ jobs: - libfido2_ref: 'main' force_fail: 'WOLFPROV_FORCE_FAIL=1' steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: @@ -53,6 +62,7 @@ jobs: - name: Install test dependencies run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update sudo apt-get install -y build-essential cmake pkg-config libudev-dev \ zlib1g-dev libcbor-dev libpcsclite-dev pcscd diff --git a/.github/workflows/libhashkit2.yml b/.github/workflows/libhashkit2.yml index f3a640c3..e36858a4 100644 --- a/.github/workflows/libhashkit2.yml +++ b/.github/workflows/libhashkit2.yml @@ -25,6 +25,10 @@ jobs: test_libhashkit2: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider # This should be a safe limit for the tests to run. timeout-minutes: 20 @@ -38,6 +42,11 @@ jobs: - libhashkit2_ref: 'v1.x' force_fail: 'WOLFPROV_FORCE_FAIL=1' steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: @@ -59,6 +68,7 @@ jobs: - name: Install libmemcached dependencies run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update sudo apt-get install cmake build-essential bison flex memcached libc6 diff --git a/.github/workflows/liboauth2.yml b/.github/workflows/liboauth2.yml index 7272c0b5..6829eb61 100644 --- a/.github/workflows/liboauth2.yml +++ b/.github/workflows/liboauth2.yml @@ -25,6 +25,10 @@ jobs: test_liboauth2: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider timeout-minutes: 20 strategy: @@ -34,6 +38,11 @@ jobs: openssl_ref: [ 'openssl-3.5.0' ] force_fail: ['WOLFPROV_FORCE_FAIL=1', ''] steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: @@ -55,6 +64,7 @@ jobs: - name: Install liboauth2 dependencies run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update sudo apt-get install -y libcurl4-openssl-dev libjansson-dev \ libcjose-dev pkg-config build-essential apache2-dev libhiredis-dev \ diff --git a/.github/workflows/libssh2.yml b/.github/workflows/libssh2.yml index d0f4da01..338fd4f0 100644 --- a/.github/workflows/libssh2.yml +++ b/.github/workflows/libssh2.yml @@ -25,6 +25,10 @@ jobs: test_libssh2: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider timeout-minutes: 20 strategy: @@ -34,6 +38,11 @@ jobs: openssl_ref: [ 'openssl-3.5.0' ] force_fail: ['WOLFPROV_FORCE_FAIL=1', ''] steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: @@ -55,6 +64,7 @@ jobs: - name: Install dependencies run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update sudo apt-get install -y build-essential autoconf libtool pkg-config clang libc++-dev python3-impacket diff --git a/.github/workflows/libtss2.yml b/.github/workflows/libtss2.yml index ee2ed622..e30101ca 100644 --- a/.github/workflows/libtss2.yml +++ b/.github/workflows/libtss2.yml @@ -21,6 +21,10 @@ jobs: test_tpm2_tss: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider timeout-minutes: 30 strategy: @@ -33,6 +37,11 @@ jobs: - tpm2_tss_ref: 'master' force_fail: 'WOLFPROV_FORCE_FAIL=1' steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: @@ -58,6 +67,7 @@ jobs: sudo ln -s $GITHUB_WORKSPACE/openssl-install/bin/openssl ${OPENSSL_SYSTEM} - name: Install test dependencies run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update sudo apt-get install -y pkg-config libcunit1-dev autoconf-archive \ gettext libcmocka-dev build-essential autoconf automake libtool \ diff --git a/.github/workflows/libwebsockets.yml b/.github/workflows/libwebsockets.yml index 624a1886..742efa9a 100644 --- a/.github/workflows/libwebsockets.yml +++ b/.github/workflows/libwebsockets.yml @@ -25,6 +25,10 @@ jobs: test_libwebsockets: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider # This should be a safe limit for the tests to run. timeout-minutes: 20 @@ -38,6 +42,11 @@ jobs: - libwebsockets_ref: 'main' force_fail: 'WOLFPROV_FORCE_FAIL=1' steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + # Checkout the source so we can run the check-workflow-result script - name: Checkout wolfProvider uses: actions/checkout@v4 @@ -59,6 +68,7 @@ jobs: - name: Install libwebsockets dependencies run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update sudo apt-get install -y libc6 libcap2 zlib1g cmake build-essential - name: Download libwebsockets diff --git a/.github/workflows/multi-compiler.yml b/.github/workflows/multi-compiler.yml index 8619977f..c5039ab1 100644 --- a/.github/workflows/multi-compiler.yml +++ b/.github/workflows/multi-compiler.yml @@ -79,6 +79,7 @@ jobs: steps: - name: Install dependencies run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update sudo apt-get install -y ${{ matrix.CC }} ${{ matrix.CXX }} automake libtool diff --git a/.github/workflows/net-snmp.yml b/.github/workflows/net-snmp.yml index 4ccaf28c..0887152d 100644 --- a/.github/workflows/net-snmp.yml +++ b/.github/workflows/net-snmp.yml @@ -25,6 +25,10 @@ jobs: test_net_snmp: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider # This should be a safe limit for the tests to run. timeout-minutes: 20 @@ -36,6 +40,11 @@ jobs: openssl_ref: ['openssl-3.5.0'] force_fail: ['WOLFPROV_FORCE_FAIL=1', ''] steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: @@ -57,6 +66,7 @@ jobs: - name: Install dependencies run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update sudo apt-get install -y libperl-dev diff --git a/.github/workflows/nginx.yml b/.github/workflows/nginx.yml index 04f29c96..4adb2b2f 100644 --- a/.github/workflows/nginx.yml +++ b/.github/workflows/nginx.yml @@ -25,6 +25,10 @@ jobs: test_nginx: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider # This should be a safe limit for the tests to run. timeout-minutes: 20 @@ -38,6 +42,11 @@ jobs: - nginx_ref: 'master' force_fail: 'WOLFPROV_FORCE_FAIL=1' steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: @@ -59,6 +68,10 @@ jobs: - name: Install dependencies run: | + export DEBIAN_FRONTEND=noninteractive + sudo apt-get update + sudo apt-get install -y build-essential autoconf automake libtool \ + pkg-config libpcre3-dev zlib1g-dev sudo cpan -iT Proc::Find Net::SSLeay IO::Socket::SSL - name: Checkout nginx @@ -83,6 +96,7 @@ jobs: - name: Run nginx-tests with wolfProvider working-directory: nginx-tests + shell: bash run: | # Set up the environment for wolfProvider source $GITHUB_WORKSPACE/scripts/env-setup diff --git a/.github/workflows/openldap.yml b/.github/workflows/openldap.yml index 287e1d4c..ad2774d5 100644 --- a/.github/workflows/openldap.yml +++ b/.github/workflows/openldap.yml @@ -25,6 +25,10 @@ jobs: test_openldap: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider # This should be a safe limit for the tests to run. timeout-minutes: 20 diff --git a/.github/workflows/opensc.yml b/.github/workflows/opensc.yml index f2be5099..da39ecca 100644 --- a/.github/workflows/opensc.yml +++ b/.github/workflows/opensc.yml @@ -25,6 +25,10 @@ jobs: test_opensc: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider # This should be a safe limit for the tests to run. timeout-minutes: 30 @@ -35,6 +39,11 @@ jobs: openssl_ref: [ 'openssl-3.5.0' ] force_fail: [ 'WOLFPROV_FORCE_FAIL=1', '' ] steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: @@ -55,6 +64,7 @@ jobs: - name: Install OpenSC dependencies run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update sudo apt-get install -y \ autotools-dev libtool automake autoconf make pkg-config \ diff --git a/.github/workflows/openssh.yml b/.github/workflows/openssh.yml index bfb5c8db..f61463a0 100644 --- a/.github/workflows/openssh.yml +++ b/.github/workflows/openssh.yml @@ -25,6 +25,10 @@ jobs: test_openssh: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider # This should be a safe limit for the tests to run. timeout-minutes: 20 @@ -38,6 +42,11 @@ jobs: - openssh_ref: 'master' force_fail: 'WOLFPROV_FORCE_FAIL=1' steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: diff --git a/.github/workflows/openvpn.yml b/.github/workflows/openvpn.yml index 2571566b..716261a2 100644 --- a/.github/workflows/openvpn.yml +++ b/.github/workflows/openvpn.yml @@ -25,6 +25,10 @@ jobs: test_openvpn: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider # This should be a safe limit for the tests to run. timeout-minutes: 20 @@ -38,6 +42,11 @@ jobs: - openvpn_ref: 'master' force_fail: 'WOLFPROV_FORCE_FAIL=1' steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: @@ -59,6 +68,7 @@ jobs: - name: Install test dependencies run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update sudo apt-get install liblzo2-dev libpam0g-dev liblz4-dev libcap-ng-dev \ linux-libc-dev man2html libcmocka-dev python3-docutils \ diff --git a/.github/workflows/pam-pkcs11.yml b/.github/workflows/pam-pkcs11.yml index 4603b1a0..7a489f98 100644 --- a/.github/workflows/pam-pkcs11.yml +++ b/.github/workflows/pam-pkcs11.yml @@ -25,6 +25,10 @@ jobs: test_pam_pkcs11: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider # This should be a safe limit for the tests to run. timeout-minutes: 20 @@ -38,6 +42,11 @@ jobs: - pam_pkcs11_ref: 'master' force_fail: 'WOLFPROV_FORCE_FAIL=1' steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + # Checkout the source so we can run the check-workflow-result script - name: Checkout wolfProvider uses: actions/checkout@v4 diff --git a/.github/workflows/ppp.yml b/.github/workflows/ppp.yml index a4ebd2ab..6fd852b4 100644 --- a/.github/workflows/ppp.yml +++ b/.github/workflows/ppp.yml @@ -23,6 +23,10 @@ jobs: test_ppp: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider timeout-minutes: 15 strategy: @@ -39,6 +43,11 @@ jobs: force_fail: 'WOLFPROV_FORCE_FAIL=1' steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + # Checkout the source so we can run the check-workflow-result script - name: Checkout wolfProvider uses: actions/checkout@v4 diff --git a/.github/workflows/python3-ntp.yml b/.github/workflows/python3-ntp.yml index 9a318a0d..690bb538 100644 --- a/.github/workflows/python3-ntp.yml +++ b/.github/workflows/python3-ntp.yml @@ -25,6 +25,10 @@ jobs: test_python3-ntp: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider # This should be a safe limit for the tests to run. timeout-minutes: 20 @@ -38,6 +42,11 @@ jobs: - python3-ntp_ref: 'master' force_fail: 'WOLFPROV_FORCE_FAIL=1' steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: @@ -58,6 +67,7 @@ jobs: - name: Install python3-ntp dependencies run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update sudo apt-get install -y build-essential bison libcap-dev libseccomp-dev libavahi-compat-libdnssd-dev pps-tools python-dev-is-python3 diff --git a/.github/workflows/qt5network5.yml b/.github/workflows/qt5network5.yml index cc66aae7..a12d6486 100644 --- a/.github/workflows/qt5network5.yml +++ b/.github/workflows/qt5network5.yml @@ -22,6 +22,10 @@ jobs: test_qtbase_network: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider timeout-minutes: 30 strategy: @@ -34,6 +38,11 @@ jobs: - qt_ref: 'dev' force_fail: 'WOLFPROV_FORCE_FAIL=1' steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: @@ -54,6 +63,7 @@ jobs: - name: Install Qt dependencies run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update sudo apt-get install -y build-essential pkg-config \ python3 perl libpcre2-dev zlib1g-dev cmake ninja-build diff --git a/.github/workflows/replace-default.yml b/.github/workflows/replace-default.yml new file mode 100644 index 00000000..ff0e4c03 --- /dev/null +++ b/.github/workflows/replace-default.yml @@ -0,0 +1,67 @@ +name: Replace Default Tests + +# START OF COMMON SECTION +on: + push: + branches: [ 'master', 'main', 'release/**' ] + pull_request: + branches: [ '*' ] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true +# END OF COMMON SECTION + +jobs: + replace_default_test: + name: Replace Default Test + runs-on: ubuntu-22.04 + timeout-minutes: 30 + strategy: + matrix: + # Test both standard and replace-default builds + replace_default: ['', '--replace-default'] + # Test with stable versions + wolfssl_ref: ['v5.8.0-stable'] + openssl_ref: ['openssl-3.5.0'] + steps: + + - name: Checkout wolfProvider + uses: actions/checkout@v4 + with: + fetch-depth: 1 + + - name: Build wolfProvider ${{ matrix.replace_default && 'with replace-default' || 'standard' }} + run: | + OPENSSL_TAG=${{ matrix.openssl_ref }} \ + WOLFSSL_TAG=${{ matrix.wolfssl_ref }} \ + ./scripts/build-wolfprovider.sh ${{ matrix.replace_default }} + + - name: Run standalone test suite + run: | + ./test/standalone/runners/run_standalone_tests.sh + + - name: Print errors on failure + if: ${{ failure() }} + run: | + # Build failure log + if [ -f scripts/build-release.log ]; then + echo "=== Build log (last 50 lines) ===" + tail -n 50 scripts/build-release.log + fi + + # Test suite failure log + if [ -f test-suite.log ]; then + echo "=== Test suite log ===" + cat test-suite.log + fi + + # Standalone test failures + if [ -d test/standalone/runners/test_results ]; then + for log in test/standalone/runners/test_results/*.log; do + if [ -f "$log" ]; then + echo "=== $log ===" + cat "$log" + fi + done + fi diff --git a/.github/workflows/rsync.yml b/.github/workflows/rsync.yml index 051c5ec3..fa02052b 100644 --- a/.github/workflows/rsync.yml +++ b/.github/workflows/rsync.yml @@ -22,6 +22,10 @@ jobs: test_rsync: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider timeout-minutes: 15 strategy: @@ -34,6 +38,11 @@ jobs: - rsync_ref: 'master' force_fail: 'WOLFPROV_FORCE_FAIL=1' steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: @@ -54,6 +63,7 @@ jobs: - name: Install rsync dependencies run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update sudo apt-get install -y gcc g++ gawk autoconf automake python3-cmarkgfm \ acl libacl1-dev attr libattr1-dev libxxhash-dev \ diff --git a/.github/workflows/simple.yml b/.github/workflows/simple.yml index 959ee8cf..3267da00 100644 --- a/.github/workflows/simple.yml +++ b/.github/workflows/simple.yml @@ -83,7 +83,7 @@ jobs: - name: Build and test wolfProvider # Only run the test for a cache miss. On hit, we've already run the test. - if: steps.wolfprov-cache-restore.cache-hit != 'true' + if: steps.wolfprov-cache-restore.outputs.cache-hit != 'true' run: | ${{ matrix.debug }} \ OPENSSL_TAG=${{ matrix.openssl_ref }} \ diff --git a/.github/workflows/socat.yml b/.github/workflows/socat.yml index 054b9966..56c35355 100644 --- a/.github/workflows/socat.yml +++ b/.github/workflows/socat.yml @@ -25,6 +25,10 @@ jobs: test_socat: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider # This should be a safe limit for the tests to run. timeout-minutes: 20 @@ -33,6 +37,11 @@ jobs: wolfssl_ref: [ 'master', 'v5.8.0-stable' ] openssl_ref: [ 'openssl-3.5.0' ] steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: @@ -54,6 +63,7 @@ jobs: - name: Install dependencies run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update sudo apt-get install build-essential autoconf libtool pkg-config clang libc++-dev diff --git a/.github/workflows/sscep.yml b/.github/workflows/sscep.yml index 924e72ea..9c5c2a1b 100644 --- a/.github/workflows/sscep.yml +++ b/.github/workflows/sscep.yml @@ -25,6 +25,10 @@ jobs: test_sscep: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider timeout-minutes: 10 strategy: @@ -35,6 +39,11 @@ jobs: force_fail: [ 'WOLFPROV_FORCE_FAIL=1', '' ] steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: @@ -56,6 +65,7 @@ jobs: - name: Install sscep dependencies run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update sudo apt-get install -y scep psmisc diff --git a/.github/workflows/sssd.yml b/.github/workflows/sssd.yml index e1e36e93..9409b283 100644 --- a/.github/workflows/sssd.yml +++ b/.github/workflows/sssd.yml @@ -31,6 +31,11 @@ jobs: - sssd_ref: 'master' force_fail: 'WOLFPROV_FORCE_FAIL=1' steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: diff --git a/.github/workflows/stunnel.yml b/.github/workflows/stunnel.yml index c4d0dfb4..e3c2eb74 100644 --- a/.github/workflows/stunnel.yml +++ b/.github/workflows/stunnel.yml @@ -25,6 +25,10 @@ jobs: test_stunnel: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider # This should be a safe limit for the tests to run. timeout-minutes: 10 @@ -38,6 +42,11 @@ jobs: - stunnel_ref: 'master' force_fail: 'WOLFPROV_FORCE_FAIL=1' steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: @@ -59,6 +68,7 @@ jobs: - name: Install dependencies run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update sudo apt-get install -y libwrap0-dev autoconf-archive autotools-dev m4 diff --git a/.github/workflows/systemd.yml b/.github/workflows/systemd.yml index f2ae0189..e46a5df0 100644 --- a/.github/workflows/systemd.yml +++ b/.github/workflows/systemd.yml @@ -25,6 +25,10 @@ jobs: test_systemd: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider # This should be a safe limit for the tests to run. timeout-minutes: 20 @@ -36,8 +40,14 @@ jobs: openssl_ref: ['openssl-3.5.0'] force_fail: ['WOLFPROV_FORCE_FAIL=1', ''] steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Install dependencies run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update sudo apt-get install -y build-essential meson ninja-build \ libmount-dev gperf python3-pytest libuv1-dev libnghttp2-dev \ diff --git a/.github/workflows/tcpdump.yml b/.github/workflows/tcpdump.yml index 879d94cf..ee6bc2b2 100644 --- a/.github/workflows/tcpdump.yml +++ b/.github/workflows/tcpdump.yml @@ -22,6 +22,10 @@ jobs: test_tcpdump: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider timeout-minutes: 15 strategy: @@ -34,6 +38,11 @@ jobs: - tcpdump_ref: 'master' force_fail: 'WOLFPROV_FORCE_FAIL=1' steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: @@ -54,6 +63,7 @@ jobs: - name: Install test dependencies run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update sudo apt-get install -y build-essential flex bison autoconf libtool diff --git a/.github/workflows/tnftp.yml b/.github/workflows/tnftp.yml index be262c37..c7c66031 100644 --- a/.github/workflows/tnftp.yml +++ b/.github/workflows/tnftp.yml @@ -25,6 +25,10 @@ jobs: test_tnftp: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider # This should be a safe limit for the tests to run. timeout-minutes: 20 @@ -35,6 +39,11 @@ jobs: openssl_ref: [ 'openssl-3.5.0' ] force_fail: ['WOLFPROV_FORCE_FAIL=1', ''] steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: @@ -55,6 +64,7 @@ jobs: - name: Install dependencies run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update sudo apt-get install -y build-essential autoconf libtool pkg-config vsftpd diff --git a/.github/workflows/tpm2-tools.yml b/.github/workflows/tpm2-tools.yml index de17608f..e6a239ef 100644 --- a/.github/workflows/tpm2-tools.yml +++ b/.github/workflows/tpm2-tools.yml @@ -25,6 +25,10 @@ jobs: test_tpm2_tools: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider # This should be a safe limit for the tests to run. timeout-minutes: 20 @@ -36,6 +40,11 @@ jobs: openssl_ref: [ 'openssl-3.5.0' ] force_fail: [ 'WOLFPROV_FORCE_FAIL=1', '' ] steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: @@ -57,6 +66,7 @@ jobs: - name: Install tpm2-tools test dependencies run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update sudo apt-get install -y git sudo autoconf expect vim dbus vim-common \ autoconf-archive python3 python3-yaml python3-pip libefivar-dev \ diff --git a/.github/workflows/x11vnc.yml b/.github/workflows/x11vnc.yml index 2f9d2d54..b35cd2b0 100644 --- a/.github/workflows/x11vnc.yml +++ b/.github/workflows/x11vnc.yml @@ -25,6 +25,10 @@ jobs: test_x11vnc: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider timeout-minutes: 10 strategy: @@ -35,6 +39,11 @@ jobs: force_fail: [ 'WOLFPROV_FORCE_FAIL=1', '' ] steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + - name: Checkout wolfProvider uses: actions/checkout@v4 with: @@ -56,6 +65,7 @@ jobs: - name: Install x11vnc dependencies run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update # common build dependencies diff --git a/.github/workflows/xmlsec.yml b/.github/workflows/xmlsec.yml index 7b68e7ef..4f0aa3ad 100644 --- a/.github/workflows/xmlsec.yml +++ b/.github/workflows/xmlsec.yml @@ -25,6 +25,10 @@ jobs: test_xmlsec: runs-on: ubuntu-22.04 + container: + image: debian:bookworm + env: + DEBIAN_FRONTEND: noninteractive needs: build_wolfprovider # This should be a safe limit for the tests to run. timeout-minutes: 20 @@ -38,6 +42,11 @@ jobs: - xmlsec_ref: 'master' force_fail: 'WOLFPROV_FORCE_FAIL=1' steps: + - name: Install sudo + run: | + apt-get update + apt-get install -y sudo + # Checkout the source so we can run the check-workflow-result script - name: Checkout wolfProvider uses: actions/checkout@v4 @@ -59,6 +68,7 @@ jobs: - name: Install xmlsec dependencies run: | + export DEBIAN_FRONTEND=noninteractive sudo apt-get update sudo apt-get install -y automake autoconf libtool libtool-bin \ libltdl-dev libltdl7 libxml2-dev