hitch.yml 2.8 KB

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