Skip to content

Merge pull request #447 from yosuke-wolfssl/fix/f_2236 #465

Merge pull request #447 from yosuke-wolfssl/fix/f_2236

Merge pull request #447 from yosuke-wolfssl/fix/f_2236 #465

Workflow file for this run

name: SEED-SRC Tests
# START OF COMMON SECTION
on:
push:
branches: [ 'master', 'main', 'release/**' ]
pull_request:
branches: [ '*' ]
types: [opened, synchronize, reopened, ready_for_review]
paths-ignore:
- '**.md'
- 'docs/**'
- 'LICENSE*'
- '.github/ISSUE_TEMPLATE/**'
- '.github/dependabot.yml'
- '.gitignore'
- 'AUTHORS'
- 'COPYING'
- 'README*'
- 'CHANGELOG*'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
# END OF COMMON SECTION
jobs:
discover_versions:
if: github.event_name != 'pull_request' || github.event.pull_request.draft == false
uses: ./.github/workflows/_discover-versions.yml
seed_src_test:
needs: discover_versions
if: github.event_name != 'pull_request' || github.event.pull_request.draft == false
name: SEED-SRC Test
runs-on: ubuntu-22.04
permissions:
contents: read
packages: write
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
wolfssl_ref: ${{ fromJson(needs.discover_versions.outputs.wolfssl_latest_ref_array) }}
openssl_ref:
- ${{ needs.discover_versions.outputs.openssl_latest_ref }}
- openssl-3.0.17
steps:
- name: Checkout wolfProvider
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Cache build dependencies
id: deps
uses: ./.github/actions/oras-build-deps
with:
variant: seed-src
openssl_ref: ${{ matrix.openssl_ref }}
wolfssl_ref: ${{ matrix.wolfssl_ref }}
extra_key: ${{ hashFiles('.github/workflows/seed-src.yml') }}
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Build and test wolfProvider with SEED-SRC
run: |
# ac_cv_func_getrandom=no forces wolfSSL onto /dev/urandom, the
# entropy path the SEED-SRC fork-safe caching test needs.
# WOLFPROV_CONFIG_CFLAGS reaches the unit.test compile via configure
# CFLAGS; -DWP_TEST_SECCOMP_SANDBOX compiles in the OpenSSH preauth
# seccomp suite (else it builds to a skip stub). ubuntu-22.04 runners
# are full VMs where PR_SET_SECCOMP works.
WOLFPROV_CONFIG_CFLAGS="-DWP_TEST_SECCOMP_SANDBOX" \
WOLFSSL_CONFIG_OPTS="--enable-all-crypto --with-eccminsz=192 --with-max-ecc-bits=1024 --enable-opensslcoexist --enable-sha ac_cv_func_getrandom=no" \
OPENSSL_TAG=${{ matrix.openssl_ref }} \
WOLFSSL_TAG=${{ matrix.wolfssl_ref }} \
./scripts/build-wolfprovider.sh --enable-seed-src
- name: Push build dependencies
uses: ./.github/actions/oras-build-deps-push
with:
registry: ${{ steps.deps.outputs.registry }}
openssl_install_tag: ${{ steps.deps.outputs.openssl_install_tag }}
wolfssl_install_tag: ${{ steps.deps.outputs.wolfssl_install_tag }}
openssl_hit: ${{ steps.deps.outputs.openssl_hit }}
wolfssl_hit: ${{ steps.deps.outputs.wolfssl_hit }}
- name: Print errors
if: ${{ failure() }}
run: |
if [ -f test-suite.log ] ; then
cat test-suite.log
fi
if [ -f scripts/build-release.log ] ; then
echo "=== Build Release Log (last 100 lines) ==="
tail -100 scripts/build-release.log
fi