Skip to content

Commit fb034b6

Browse files
committed
ci: test wolfSSL master + latest-stable everywhere via the resolver
_discover-versions.yml now emits wolfssl_ref_array=["master","<latest_stable>"] instead of a single-element array. Every matrix consumer of that output -- the 40 OSP workflows already use fromJson on it -- now iterates both refs. Wired wolfssl_ref into the matrix of the workflows that were still using the singular `outputs.wolfssl_ref`: - simple.yml: matrix gains wolfssl_ref (now 8 jobs / PR, was 4) - cmdline.yml: matrix.wolfssl_ref switches from ['v5.8.4-stable'] to the array form, also adds a discover_versions job - libtss2.yml: matrix.wolfssl_ref added; build step reads it - sanitizers.yml: matrix added so ASan+UBSan exercises both refs The singular `wolfssl_ref` output still resolves to latest-stable for the few non-matrix consumers (none currently, but the API stays backwards-compatible). Nightly OSP now runs every OSP workflow with master AND latest-stable in parallel, which is the load nightly was built to absorb.
1 parent 2b2573d commit fb034b6

5 files changed

Lines changed: 25 additions & 9 deletions

File tree

.github/workflows/_discover-versions.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,16 @@ jobs:
6666
fi
6767
OSSL=$(echo "$OSSL_RAW" | sed 's/-.*//')
6868
69-
echo "wolfSSL latest -stable: $WOLFSSL"
69+
echo "wolfSSL latest -stable: $WOLFSSL (also testing master)"
7070
echo "Bookworm OpenSSL: openssl-$OSSL (raw: $OSSL_RAW)"
7171
72+
# Matrix consumers iterate the array form, so they exercise
73+
# both master and the latest -stable tag every run. Singular
74+
# `wolfssl_ref` (still the stable tag) is kept for the few
75+
# remaining non-matrix consumers and shell-step interpolation.
7276
{
7377
echo "wolfssl_ref=$WOLFSSL"
74-
echo "wolfssl_ref_array=[\"$WOLFSSL\"]"
78+
echo "wolfssl_ref_array=[\"master\",\"$WOLFSSL\"]"
7579
echo "openssl_ref=openssl-$OSSL"
7680
echo "openssl_ref_array=[\"openssl-$OSSL\"]"
7781
} >> "$GITHUB_OUTPUT"

.github/workflows/cmdline.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,12 @@ concurrency:
2525
# END OF COMMON SECTION
2626

2727
jobs:
28+
discover_versions:
29+
if: github.event_name != 'pull_request' || github.event.pull_request.draft == false
30+
uses: ./.github/workflows/_discover-versions.yml
31+
2832
cmdtest_test:
33+
needs: discover_versions
2934
if: github.event_name != 'pull_request' || github.event.pull_request.draft == false
3035
name: Command line test
3136
runs-on: ubuntu-22.04
@@ -34,7 +39,7 @@ jobs:
3439
fail-fast: false
3540
matrix:
3641
openssl_ref: [ 'master', 'openssl-3.5.0' ]
37-
wolfssl_ref: [ 'v5.8.4-stable' ]
42+
wolfssl_ref: ${{ fromJson(needs.discover_versions.outputs.wolfssl_ref_array) }}
3843
debug: ['WOLFPROV_DEBUG=1', '']
3944
# force_fail collapsed into sequential test runs below
4045
steps:

.github/workflows/libtss2.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ jobs:
2828
fail-fast: false
2929
matrix:
3030
tpm2_tss_ref: [ '4.1.3']
31+
wolfssl_ref: ${{ fromJson(needs.discover_versions.outputs.wolfssl_ref_array) }}
3132
openssl_ref: [ 'openssl-3.5.4' ]
3233
replace_default: [ true ]
3334
env:
@@ -53,7 +54,7 @@ jobs:
5354
- name: Build wolfProvider
5455
run: |
5556
OPENSSL_TAG=${{ matrix.openssl_ref }} \
56-
WOLFSSL_TAG=${{ needs.discover_versions.outputs.wolfssl_ref }} \
57+
WOLFSSL_TAG=${{ matrix.wolfssl_ref }} \
5758
./scripts/build-wolfprovider.sh
5859
5960
- name: Checkout tpm2-tss

.github/workflows/sanitizers.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,15 @@ jobs:
4242
sanitizers:
4343
needs: discover_versions
4444
if: github.event_name != 'pull_request' || github.event.pull_request.draft == false
45-
name: ASan+UBSan (wolfSSL ${{ needs.discover_versions.outputs.wolfssl_ref }} / ${{ needs.discover_versions.outputs.openssl_ref }})
45+
name: ASan+UBSan (wolfSSL ${{ matrix.wolfssl_ref }} / ${{ needs.discover_versions.outputs.openssl_ref }})
4646
runs-on: ubuntu-22.04
4747
# Sanitizers add ~2-3x to build/test time vs. a plain build.
4848
timeout-minutes: 45
49+
strategy:
50+
fail-fast: false
51+
matrix:
52+
# Test master + latest-stable (resolved at run time).
53+
wolfssl_ref: ${{ fromJson(needs.discover_versions.outputs.wolfssl_ref_array) }}
4954
env:
5055
# Surface every report. halt_on_error=1 fails the first time we
5156
# touch UB so we don't drown in cascades.
@@ -83,7 +88,7 @@ jobs:
8388
export WOLFPROV_CONFIG_CFLAGS="${WOLFPROV_CONFIG_CFLAGS:-} ${SAN_FLAGS}"
8489
8590
OPENSSL_TAG=${{ needs.discover_versions.outputs.openssl_ref }} \
86-
WOLFSSL_TAG=${{ needs.discover_versions.outputs.wolfssl_ref }} \
91+
WOLFSSL_TAG=${{ matrix.wolfssl_ref }} \
8792
./scripts/build-wolfprovider.sh
8893
8994
- name: Run cmd-tests under sanitizers

.github/workflows/simple.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,9 @@ jobs:
3838
strategy:
3939
fail-fast: false
4040
matrix:
41-
# PR matrix: latest-stable wolfssl (resolved at runtime) + newest 3.5
42-
# and oldest 3.0 OpenSSL = 2 x 1 x 2 = 4 jobs.
41+
# 2 wolfssl (master + latest-stable, resolved at run time) x
42+
# newest 3.5 and oldest 3.0 OpenSSL x 2 replace-default = 8 jobs.
43+
wolfssl_ref: ${{ fromJson(needs.discover_versions.outputs.wolfssl_ref_array) }}
4344
openssl_ref: [
4445
'openssl-3.5.4',
4546
'openssl-3.0.17']
@@ -57,7 +58,7 @@ jobs:
5758
- name: Build and test wolfProvider
5859
run: |
5960
OPENSSL_TAG=${{ matrix.openssl_ref }} \
60-
WOLFSSL_TAG=${{ needs.discover_versions.outputs.wolfssl_ref }} \
61+
WOLFSSL_TAG=${{ matrix.wolfssl_ref }} \
6162
./scripts/build-wolfprovider.sh ${{ matrix.debug }} ${{ matrix.replace_default }}
6263
6364
- name: Print errors

0 commit comments

Comments
 (0)