curl.yml 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. name: curl Test
  2. # START OF COMMON SECTION
  3. on:
  4. push:
  5. branches: [ 'master', 'main', 'release/**' ]
  6. pull_request:
  7. branches: [ '*' ]
  8. concurrency:
  9. group: ${{ github.workflow }}-${{ github.ref }}
  10. cancel-in-progress: true
  11. # END OF COMMON SECTION
  12. jobs:
  13. build_wolfssl:
  14. name: Build wolfSSL
  15. if: github.repository_owner == 'wolfssl'
  16. runs-on: ubuntu-22.04
  17. # This should be a safe limit for the tests to run.
  18. timeout-minutes: 4
  19. steps:
  20. - name: Build wolfSSL
  21. uses: wolfSSL/actions-build-autotools-project@v1
  22. with:
  23. path: wolfssl
  24. configure: --enable-curl
  25. install: true
  26. - name: tar build-dir
  27. run: tar -zcf build-dir.tgz build-dir
  28. - name: Upload built lib
  29. uses: actions/upload-artifact@v4
  30. with:
  31. name: wolf-install-curl
  32. path: build-dir.tgz
  33. retention-days: 5
  34. test_curl:
  35. name: ${{ matrix.curl_ref }}
  36. if: github.repository_owner == 'wolfssl'
  37. runs-on: ubuntu-22.04
  38. # This should be a safe limit for the tests to run.
  39. timeout-minutes: 15
  40. needs: build_wolfssl
  41. strategy:
  42. fail-fast: false
  43. matrix:
  44. curl_ref: [ 'master', 'curl-8_4_0' ]
  45. steps:
  46. - name: Install test dependencies
  47. run: |
  48. sudo apt-get update
  49. sudo apt-get install nghttp2 libpsl5 libpsl-dev
  50. sudo pip install impacket
  51. - name: Download lib
  52. uses: actions/download-artifact@v4
  53. with:
  54. name: wolf-install-curl
  55. - name: untar build-dir
  56. run: tar -xf build-dir.tgz
  57. - name: Build curl
  58. uses: wolfSSL/actions-build-autotools-project@v1
  59. with:
  60. repository: curl/curl
  61. path: curl
  62. ref: ${{ matrix.curl_ref }}
  63. configure: --with-wolfssl=$GITHUB_WORKSPACE/build-dir
  64. check: false
  65. - name: Test curl
  66. working-directory: curl
  67. run: make -j $(nproc) test-ci