libvncserver.yml 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. name: libvncserver 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. if: github.repository_owner == 'wolfssl'
  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-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-libvncserver
  35. path: build-dir.tgz
  36. retention-days: 5
  37. build_libvncserver:
  38. strategy:
  39. fail-fast: false
  40. matrix:
  41. ref: [ 0.9.13 ]
  42. name: ${{ matrix.ref }}
  43. if: github.repository_owner == 'wolfssl'
  44. runs-on: ubuntu-22.04
  45. needs: build_wolfssl
  46. steps:
  47. - name: Download lib
  48. uses: actions/download-artifact@v4
  49. with:
  50. name: wolf-install-libvncserver
  51. - name: untar build-dir
  52. run: tar -xf build-dir.tgz
  53. - name: Checkout OSP
  54. uses: actions/checkout@v4
  55. with:
  56. repository: wolfssl/osp
  57. path: osp
  58. - name: Checkout libvncserver
  59. uses: actions/checkout@v4
  60. with:
  61. repository: LibVNC/libvncserver
  62. path: libvncserver
  63. ref: LibVNCServer-${{ matrix.ref }}
  64. - name: Build libvncserver
  65. working-directory: libvncserver
  66. run: |
  67. patch -p1 < ../osp/libvncserver/${{ matrix.ref }}.patch
  68. PKG_CONFIG_PATH=$GITHUB_WORKSPACE/build-dir/lib/pkgconfig \
  69. cmake -B build -DWITH_GNUTLS=OFF -DWITH_OPENSSL=OFF -DWITH_GCRYPT=OFF -DWITH_WOLFSSL=ON .
  70. make -j -C build VERBOSE=1
  71. ldd build/libvncclient.so | grep wolfssl
  72. ldd build/libvncserver.so | grep wolfssl
  73. - name: Run libvncserver tests
  74. working-directory: libvncserver
  75. run: make -C build test