curl.yml 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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. runs-on: ubuntu-latest
  16. # This should be a safe limit for the tests to run.
  17. timeout-minutes: 4
  18. steps:
  19. - name: Build wolfSSL
  20. uses: wolfSSL/actions-build-autotools-project@v1
  21. with:
  22. path: wolfssl
  23. configure: --enable-curl
  24. install: true
  25. - name: Upload built lib
  26. uses: actions/upload-artifact@v4
  27. with:
  28. name: wolf-install-curl
  29. path: build-dir
  30. retention-days: 5
  31. test_curl:
  32. name: ${{ matrix.curl_ref }}
  33. runs-on: ubuntu-latest
  34. # This should be a safe limit for the tests to run.
  35. timeout-minutes: 15
  36. needs: build_wolfssl
  37. strategy:
  38. fail-fast: false
  39. matrix:
  40. curl_ref: [ 'master', 'curl-8_4_0' ]
  41. steps:
  42. - name: Install test dependencies
  43. run: |
  44. sudo apt-get update
  45. sudo apt-get install nghttp2 libpsl5 libpsl-dev
  46. sudo pip install impacket
  47. - name: Download lib
  48. uses: actions/download-artifact@v4
  49. with:
  50. name: wolf-install-curl
  51. path: build-dir
  52. - name: Build curl
  53. uses: wolfSSL/actions-build-autotools-project@v1
  54. with:
  55. repository: curl/curl
  56. path: curl
  57. ref: ${{ matrix.curl_ref }}
  58. configure: --with-wolfssl=$GITHUB_WORKSPACE/build-dir
  59. check: false
  60. - name: Test curl
  61. working-directory: curl
  62. run: make -j test-ci