openssh.yml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. name: openssh 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. if: github.repository_owner == 'wolfssl'
  16. # Just to keep it the same as the testing target
  17. runs-on: ubuntu-latest
  18. # This should be a safe limit for the tests to run.
  19. timeout-minutes: 4
  20. steps:
  21. - name: Build wolfSSL
  22. uses: wolfSSL/actions-build-autotools-project@v1
  23. with:
  24. path: wolfssl
  25. configure: >-
  26. --enable-openssh --enable-dsa --with-max-rsa-bits=8192
  27. --enable-intelasm --enable-sp-asm CFLAGS="-DRSA_MIN_SIZE=1024"
  28. install: true
  29. - name: tar build-dir
  30. run: tar -zcf build-dir.tgz build-dir
  31. - name: Upload built lib
  32. uses: actions/upload-artifact@v4
  33. with:
  34. name: wolf-install-openssh
  35. path: build-dir.tgz
  36. retention-days: 5
  37. openssh_check:
  38. strategy:
  39. fail-fast: false
  40. matrix:
  41. include:
  42. - git_ref: 'V_9_6_P1'
  43. osp_ver: '9.6'
  44. name: ${{ matrix.ref }}
  45. if: github.repository_owner == 'wolfssl'
  46. runs-on: ubuntu-latest
  47. needs: build_wolfssl
  48. steps:
  49. - name: Download lib
  50. uses: actions/download-artifact@v4
  51. with:
  52. name: wolf-install-openssh
  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: Build and test openssh
  61. uses: wolfSSL/actions-build-autotools-project@v1
  62. with:
  63. repository: openssh/openssh-portable
  64. ref: ${{ matrix.git_ref }}
  65. path: openssh
  66. patch-file: $GITHUB_WORKSPACE/osp/openssh-patches/openssh-${{ matrix.osp_ver }}.patch
  67. configure: --with-wolfssl=$GITHUB_WORKSPACE/build-dir --with-rpath=-Wl,-rpath=
  68. check: false
  69. # make tests take >20 minutes. Consider limiting?
  70. - name: Run tests
  71. working-directory: ./openssh
  72. run: |
  73. # Run all the tests except (t-exec) as it takes too long
  74. make file-tests interop-tests extra-tests unit