pam-ipmi.yml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. name: pam-ipmi 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: --enable-all
  26. install: true
  27. # Don't run tests as this config is tested in many other places
  28. check: false
  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-pam-ipmi
  35. path: build-dir.tgz
  36. retention-days: 5
  37. build_pam-ipmi:
  38. strategy:
  39. fail-fast: false
  40. matrix:
  41. git_ref: [ e4b13e6725abb178f62ee897fe1c0e81b06a9431 ]
  42. name: ${{ matrix.git_ref }}
  43. if: github.repository_owner == 'wolfssl'
  44. runs-on: ubuntu-latest
  45. needs: build_wolfssl
  46. steps:
  47. - name: Install dependencies
  48. run: |
  49. # Don't prompt for anything
  50. export DEBIAN_FRONTEND=noninteractive
  51. sudo apt-get update
  52. sudo apt-get install libpam-dev ninja-build
  53. sudo pip3 install meson
  54. - name: Download lib
  55. uses: actions/download-artifact@v4
  56. with:
  57. name: wolf-install-pam-ipmi
  58. - name: untar build-dir
  59. run: tar -xf build-dir.tgz
  60. - name: Checkout OSP
  61. uses: actions/checkout@v4
  62. with:
  63. repository: wolfssl/osp
  64. path: osp
  65. - name: Checkout pam-ipmi
  66. uses: actions/checkout@v4
  67. with:
  68. repository: openbmc/pam-ipmi
  69. path: pam-ipmi
  70. ref: ${{ matrix.git_ref }}
  71. - name: Build pam-ipmi
  72. working-directory: pam-ipmi
  73. run: |
  74. patch -p1 < ../osp/pam-ipmi/*-${{ matrix.git_ref }}.patch
  75. PKG_CONFIG_PATH=$GITHUB_WORKSPACE/build-dir/lib/pkgconfig meson setup build
  76. ninja -C build
  77. - name: Confirm built with wolfSSL
  78. working-directory: pam-ipmi
  79. run: |
  80. ldd ./build/src/pam_ipmisave/pam_ipmisave.so | grep wolfssl