cyrus-sasl.yml 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. name: cyrus-sasl 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-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-all
  25. install: true
  26. # Don't run tests as this config is tested in many other places
  27. check: false
  28. - name: Upload built lib
  29. uses: actions/upload-artifact@v4
  30. with:
  31. name: wolf-install-sasl
  32. path: build-dir
  33. retention-days: 5
  34. sasl_check:
  35. strategy:
  36. fail-fast: false
  37. matrix:
  38. # List of releases to test
  39. ref: [ 2.1.28 ]
  40. name: ${{ matrix.ref }}
  41. runs-on: ubuntu-latest
  42. # This should be a safe limit for the tests to run.
  43. timeout-minutes: 4
  44. needs: build_wolfssl
  45. steps:
  46. - name: Install dependencies
  47. run: |
  48. # Don't prompt for anything
  49. export DEBIAN_FRONTEND=noninteractive
  50. sudo apt-get update
  51. sudo apt-get install krb5-kdc krb5-otp libkrb5-dev \
  52. libsocket-wrapper libnss-wrapper krb5-admin-server libdb5.3-dev
  53. - name: Download lib
  54. uses: actions/download-artifact@v4
  55. with:
  56. name: wolf-install-sasl
  57. path: build-dir
  58. - name: Checkout OSP
  59. uses: actions/checkout@v4
  60. with:
  61. repository: wolfssl/osp
  62. path: osp
  63. - name: Checkout sasl
  64. uses: actions/checkout@v4
  65. with:
  66. repository: cyrusimap/cyrus-sasl
  67. ref: cyrus-sasl-${{ matrix.ref }}
  68. path: sasl
  69. - name: Build cyrus-sasl
  70. working-directory: sasl
  71. run: |
  72. patch -p1 < $GITHUB_WORKSPACE/osp/cyrus-sasl/${{ matrix.ref }}/${{ matrix.ref }}.patch
  73. autoreconf -ivf
  74. ./configure --with-openssl=no --with-wolfssl=$GITHUB_WORKSPACE/build-dir --with-dblib=berkeley --disable-shared
  75. # Need to run 'make' twice with '--disable-shared' for some reason
  76. make -j || make -j
  77. - name: Run testsuite
  78. working-directory: sasl
  79. run: |
  80. make -j -C utils testsuite saslpasswd2
  81. $GITHUB_WORKSPACE/osp/cyrus-sasl/${{ matrix.ref }}/run-tests.sh