Merge pull request #447 from yosuke-wolfssl/fix/f_2236 #465
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 | |