curl.yml 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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-latest
  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-latest
  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 python3-impacket
  50. - name: Download lib
  51. uses: actions/download-artifact@v4
  52. with:
  53. name: wolf-install-curl
  54. - name: untar build-dir
  55. run: tar -xf build-dir.tgz
  56. - name: Build curl
  57. uses: wolfSSL/actions-build-autotools-project@v1
  58. with:
  59. repository: curl/curl
  60. path: curl
  61. ref: ${{ matrix.curl_ref }}
  62. configure: --with-wolfssl=$GITHUB_WORKSPACE/build-dir
  63. check: false
  64. - name: Test curl
  65. working-directory: curl
  66. run: make -j $(nproc) test-ci