5050 wolfssl_ref : [ 'v5.8.2-stable' ]
5151 openssl_ref : [ 'openssl-3.5.2' ]
5252 fips_ref : [ 'FIPS', 'non-FIPS' ]
53+ force_fail : [ 'WOLFPROV_FORCE_FAIL=1', '' ]
5354 replace_default : [ true ]
5455 env :
5556 WOLFSSL_PACKAGES_PATH : /tmp/wolfssl-packages
@@ -120,6 +121,17 @@ jobs:
120121 path : grpc
121122 ref : ${{ matrix.grpc_ref }}
122123
124+ - name : Checkout OSP
125+ uses : actions/checkout@v4
126+ with :
127+ repository : wolfssl/osp
128+ path : osp
129+ fetch-depth : 1
130+ - run : |
131+ cd grpc
132+ # Apply the wolfProvider patch
133+ patch -p1 < $GITHUB_WORKSPACE/osp/wolfProvider/grpc/grpc-FIPS-${{ matrix.grpc_ref }}-wolfprov.patch
134+
123135 - name : Build grpc with wolfProvider
124136 working-directory : ./grpc
125137 run : |
@@ -143,7 +155,33 @@ jobs:
143155 # Start the port server
144156 ./tools/run_tests/start_port_server.py
145157
158+ export ${{ matrix.force_fail }}
159+ set +e
160+
146161 # Run the tests
162+ all_passed=1
147163 for t in ${{ matrix.tests }} ; do
164+ echo "==================================="
165+ echo "Running test: $t"
166+ echo "Force fail: ${{ matrix.force_fail }}"
167+ echo "==================================="
148168 ./cmake/build/$t
169+ exit_code=$?
170+ if [ $exit_code -ne 0 ]; then
171+ echo "Test $t FAILED with exit code $exit_code"
172+ echo "Force fail: ${{ matrix.force_fail }}"
173+ all_passed=0
174+ fi
149175 done
176+
177+ set -e
178+ if [ $all_passed -eq 1 ]; then
179+ echo "ALL TESTS PASSED"
180+ TEST_RESULT=0
181+ else
182+ echo "SOME TESTS FAILED"
183+ TEST_RESULT=1
184+ fi
185+
186+ # Check results
187+ $GITHUB_WORKSPACE/.github/scripts/check-workflow-result.sh $TEST_RESULT ${{ matrix.force_fail }} grpc
0 commit comments