openldap.yml 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. name: openldap Tests
  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. # Just to keep it the same as the testing target
  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-openldap CPPFLAGS=-DWOLFSSL_NO_ASN_STRICT
  25. install: true
  26. check: true
  27. - name: tar build-dir
  28. run: tar -zcf build-dir.tgz build-dir
  29. - name: Upload built lib
  30. uses: actions/upload-artifact@v4
  31. with:
  32. name: wolf-install-openldap
  33. path: build-dir.tgz
  34. retention-days: 5
  35. openldap_check:
  36. strategy:
  37. fail-fast: false
  38. matrix:
  39. include:
  40. # List of releases to test
  41. - osp_ref: 2.5.13
  42. git_ref: OPENLDAP_REL_ENG_2_5_13
  43. name: ${{ matrix.osp_ref }}
  44. runs-on: ubuntu-22.04
  45. # This should be a safe limit for the tests to run.
  46. timeout-minutes: 20
  47. needs: build_wolfssl
  48. steps:
  49. - name: Download lib
  50. uses: actions/download-artifact@v4
  51. with:
  52. name: wolf-install-openldap
  53. - name: untar build-dir
  54. run: tar -xf build-dir.tgz
  55. - name: Checkout OSP
  56. uses: actions/checkout@v4
  57. with:
  58. repository: wolfssl/osp
  59. path: osp
  60. - name: Checkout openldap
  61. uses: actions/checkout@v4
  62. with:
  63. repository: openldap/openldap
  64. path: openldap
  65. ref: ${{ matrix.git_ref }}
  66. - name: Build and test OpenLDAP
  67. working-directory: openldap
  68. run: |
  69. export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/build-dir/lib:$LD_LIBRARY_PATH
  70. patch -p1 < $GITHUB_WORKSPACE/osp/openldap/${{ matrix.osp_ref }}/openldap-${{ matrix.osp_ref }}.patch
  71. rm aclocal.m4
  72. autoreconf -ivf
  73. ./configure --with-tls=wolfssl --disable-bdb --disable-hdb \
  74. CFLAGS="-I$GITHUB_WORKSPACE/build-dir/include \
  75. -I$GITHUB_WORKSPACE/build-dir/include/wolfssl \
  76. -L$GITHUB_WORKSPACE/build-dir/lib"
  77. make -j depend
  78. make -j
  79. make -j check