net-snmp.yml 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. name: net-snmp 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-22.04
  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: --enable-net-snmp
  26. install: 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-net-snmp
  33. path: build-dir.tgz
  34. retention-days: 5
  35. net-snmp_check:
  36. strategy:
  37. fail-fast: false
  38. matrix:
  39. # List of releases to test
  40. include:
  41. - ref: 5.9.3
  42. test_opts: -e 'agentxperl'
  43. name: ${{ matrix.ref }}
  44. if: github.repository_owner == 'wolfssl'
  45. runs-on: ubuntu-22.04
  46. # This should be a safe limit for the tests to run.
  47. timeout-minutes: 4
  48. needs: build_wolfssl
  49. steps:
  50. - name: Download lib
  51. uses: actions/download-artifact@v4
  52. with:
  53. name: wolf-install-net-snmp
  54. - name: untar build-dir
  55. run: tar -xf build-dir.tgz
  56. - name: Checkout OSP
  57. uses: actions/checkout@v4
  58. with:
  59. repository: wolfssl/osp
  60. path: osp
  61. - name: Build net-snmp
  62. uses: wolfSSL/actions-build-autotools-project@v1
  63. with:
  64. repository: net-snmp/net-snmp
  65. ref: v${{ matrix.ref }}
  66. path: net-snmp
  67. patch-file: $GITHUB_WORKSPACE/osp/net-snmp/${{ matrix.ref }}.patch
  68. configure: --disable-shared --with-wolfssl=$GITHUB_WORKSPACE/build-dir
  69. check: false
  70. - name: Run net-snmp tests
  71. working-directory: net-snmp
  72. run: |
  73. autoconf --version | grep -P '2\.\d\d' -o > dist/autoconf-version
  74. make -j test TESTOPTS="${{ matrix.test_opts }}"