name: curl Test # 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: build_wolfssl: name: Build wolfSSL runs-on: ubuntu-latest # This should be a safe limit for the tests to run. timeout-minutes: 4 steps: - name: Build wolfSSL uses: wolfSSL/actions-build-autotools-project@v1 with: path: wolfssl configure: --enable-curl install: true - name: tar build-dir run: tar -zcf build-dir.tgz build-dir - name: Upload built lib uses: actions/upload-artifact@v4 with: name: wolf-install-curl path: build-dir.tgz retention-days: 5 test_curl: name: ${{ matrix.curl_ref }} runs-on: ubuntu-latest # This should be a safe limit for the tests to run. timeout-minutes: 15 needs: build_wolfssl strategy: fail-fast: false matrix: curl_ref: [ 'master', 'curl-8_4_0' ] steps: - name: Install test dependencies run: | sudo apt-get update sudo apt-get install nghttp2 libpsl5 libpsl-dev sudo pip install impacket - name: Download lib uses: actions/download-artifact@v4 with: name: wolf-install-curl - name: untar build-dir run: tar -xf build-dir.tgz - name: Build curl uses: wolfSSL/actions-build-autotools-project@v1 with: repository: curl/curl path: curl ref: ${{ matrix.curl_ref }} configure: --with-wolfssl=$GITHUB_WORKSPACE/build-dir check: false - name: Test curl working-directory: curl run: make -j test-ci