hitch.yml 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. name: hitch Tests
  2. on:
  3. workflow_call:
  4. jobs:
  5. build_wolfssl:
  6. name: Build wolfSSL
  7. # Just to keep it the same as the testing target
  8. runs-on: ubuntu-latest
  9. # This should be a safe limit for the tests to run.
  10. timeout-minutes: 4
  11. steps:
  12. - name: Build wolfSSL
  13. uses: wolfSSL/actions-build-autotools-project@v1
  14. with:
  15. path: wolfssl
  16. configure: --enable-hitch
  17. install: true
  18. - name: Upload built lib
  19. uses: actions/upload-artifact@v4
  20. with:
  21. name: wolf-install-hitch
  22. path: build-dir
  23. retention-days: 5
  24. hitch_check:
  25. strategy:
  26. fail-fast: false
  27. matrix:
  28. # List of releases to test
  29. include:
  30. - ref: 1.7.3
  31. ignore-tests: >-
  32. test13-r82.sh test15-proxy-v2-npn.sh test39-client-cert-proxy.sh
  33. name: ${{ matrix.ref }}
  34. runs-on: ubuntu-latest
  35. # This should be a safe limit for the tests to run.
  36. timeout-minutes: 4
  37. needs: build_wolfssl
  38. steps:
  39. - name: Download lib
  40. uses: actions/download-artifact@v4
  41. with:
  42. name: wolf-install-hitch
  43. path: build-dir
  44. - name: Checkout OSP
  45. uses: actions/checkout@v4
  46. with:
  47. repository: wolfssl/osp
  48. path: osp
  49. - name: Install dependencies
  50. run: |
  51. export DEBIAN_FRONTEND=noninteractive
  52. sudo apt-get update
  53. sudo apt-get install -y libev-dev libssl-dev automake python3-docutils flex bison pkg-config make
  54. - name: Checkout hitch
  55. uses: actions/checkout@v4
  56. with:
  57. repository: varnish/hitch
  58. ref: 1.7.3
  59. path: hitch
  60. # Do this before configuring so that it only detects the updated list of
  61. # tests
  62. - if: ${{ matrix.ignore-tests }}
  63. name: Remove tests that we want to ignore
  64. working-directory: ./hitch/src/tests
  65. run: |
  66. rm ${{ matrix.ignore-tests }}
  67. - name: Configure and build hitch
  68. run: |
  69. cd $GITHUB_WORKSPACE/hitch/
  70. patch -p1 < $GITHUB_WORKSPACE/osp/hitch/hitch_1.7.3.patch
  71. autoreconf -ivf
  72. SSL_CFLAGS="-I$GITHUB_WORKSPACE/build-dir/include/ -I$GITHUB_WORKSPACE/build-dir/include/wolfssl" SSL_LIBS="-L$GITHUB_WORKSPACE/build-dir/lib -lwolfssl" ./configure --with-wolfssl=$GITHUB_WORKSPACE/build-dir/ --enable-silent-rules --enable-documentation --enable-warnings --with-lex --with-yacc --prefix=$GITHUB_WORKSPACE/build-dir
  73. make -j$(nproc)
  74. - name: Confirm hitch built with wolfSSL
  75. working-directory: ./hitch
  76. run: |
  77. export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/build-dir/lib:$LD_LIBRARY_PATH
  78. ldd src/hitch | grep wolfssl
  79. - name: Run hitch tests, skipping ignored tests
  80. working-directory: ./hitch
  81. run: |
  82. export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/build-dir/lib:$LD_LIBRARY_PATH
  83. make check