pam-ipmi.yml 2.4 KB

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