libvncserver.yml 2.3 KB

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