diff --git a/.github/workflows/curl.yml b/.github/workflows/curl.yml new file mode 100644 index 00000000..c18b14a5 --- /dev/null +++ b/.github/workflows/curl.yml @@ -0,0 +1,59 @@ +name: Curl Tests + +# START OF COMMON SECTION +on: + push: + branches: [ 'master', 'main', 'release/**' ] + pull_request: + branches: [ '*' ] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true +# END OF COMMON SECTION + +jobs: + test_curl: + runs-on: ubuntu-latest + # This should be a safe limit for the tests to run. + timeout-minutes: 20 + steps: + - name: Checkout wolfProvider + uses: actions/checkout@v4 + + - name: Test wolfProvider + run: | + export WOLFPROV_DEBUG=1 + OPENSSL_TAG=master WOLFSSL_TAG=master WOLFPROV_DEBUG=1 ./scripts/build-wolfprovider.sh + make check + + - name: Print errors + if: ${{ failure() }} + run: | + if [ -f test-suite.log ] ; then + cat test-suite.log + fi + + - name: Install curl test dependencies + run: | + sudo apt-get update + sudo apt-get install nghttp2 libpsl5 libpsl-dev python3-impacket + + - name: Build curl + uses: wolfSSL/actions-build-autotools-project@v1 + with: + repository: curl/curl + path: curl + ref: curl-8_4_0 + configure: --with-openssl + check: false + + - name: Test curl with wolfProvider + working-directory: curl + run: | + export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/wolfProvider/wolfProvider/wolfssl-install/lib:$GITHUB_WORKSPACE/wolfProvider/wolfProvider/openssl-install/lib64:LD_LIBRARY_PATH + export OPENSSL_CONF=$GITHUB_WORKSPACE/wolfProvider/wolfProvider/provider.conf + export OPENSSL_MODULES=$GITHUB_WORKSPACE/wolfProvider/wolfProvider/wolfprov-install/lib + echo "OSSL CONF = " + echo $OPENSSL_CONF + make -j $(nproc) test-ci