Skip to content

Optimize CI for wolfProvider #995

Optimize CI for wolfProvider

Optimize CI for wolfProvider #995

Workflow file for this run

name: Command Line 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
cmdtest_test:
needs: discover_versions
if: github.event_name != 'pull_request' || github.event.pull_request.draft == false
name: Command line test
runs-on: ubuntu-22.04
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
openssl_ref:
- master
- ${{ needs.discover_versions.outputs.openssl_latest_ref }}
wolfssl_ref: ${{ fromJson(needs.discover_versions.outputs.wolfssl_latest_ref_array) }}
debug: ['WOLFPROV_DEBUG=1', '']
# force_fail collapsed into sequential test runs below
steps:
- name: Checkout wolfProvider
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Build wolfProvider
run: |
${{ matrix.debug }} OPENSSL_TAG=${{ matrix.openssl_ref }} WOLFSSL_TAG=${{ matrix.wolfssl_ref }} ./scripts/build-wolfprovider.sh
- name: Run tests
run: |
source scripts/env-setup
# --- normal mode ---
${{ matrix.debug }} ./scripts/cmd_test/do-cmd-tests.sh
# --- force-fail mode ---
WOLFPROV_FORCE_FAIL=1 ${{ matrix.debug }} ./scripts/cmd_test/do-cmd-tests.sh