You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

build.yml 2.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. name: Build
  2. on: [push, pull_request]
  3. jobs:
  4. build-linux:
  5. runs-on: ubuntu-latest
  6. steps:
  7. - uses: actions/checkout@v2
  8. - name: Install dependencies
  9. run: |
  10. sudo apt-get update
  11. sudo apt-get install -y libgnutls28-dev libfltk1.3-dev fluid gettext
  12. sudo apt-get install -y libxtst-dev libxdamage-dev libxfixes-dev libxrandr-dev libpam-dev
  13. sudo apt-get install -y libavcodec-dev libavutil-dev libswscale-dev
  14. - name: Configure
  15. run: cmake -DCMAKE_BUILD_TYPE=Debug -S . -B build
  16. - name: Build
  17. working-directory: build
  18. run: make
  19. - name: Install
  20. working-directory: build
  21. run: make tarball
  22. build-windows:
  23. runs-on: windows-latest
  24. defaults:
  25. run:
  26. shell: msys2 {0}
  27. steps:
  28. - uses: actions/checkout@v2
  29. - uses: msys2/setup-msys2@v2
  30. - name: Install dependencies
  31. run: |
  32. pacman --sync --noconfirm --needed make mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake
  33. pacman --sync --noconfirm --needed mingw-w64-x86_64-fltk mingw-w64-x86_64-libjpeg-turbo mingw-w64-x86_64-gnutls mingw-w64-x86_64-pixman
  34. - name: Configure
  35. run: cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Debug -S . -B build
  36. - name: Build
  37. working-directory: build
  38. run: make
  39. - name: Install
  40. working-directory: build
  41. env:
  42. MSYS2_PATH_TYPE: inherit
  43. run: make installer winvnc_installer
  44. build-macos:
  45. runs-on: macos-latest
  46. steps:
  47. - uses: actions/checkout@v2
  48. - name: Install dependencies
  49. run: |
  50. brew install fltk pixman ffmpeg
  51. - name: Configure
  52. run: cmake -DCMAKE_BUILD_TYPE=Debug -S . -B build
  53. - name: Build
  54. working-directory: build
  55. run: make
  56. - name: Install
  57. working-directory: build
  58. run: make dmg
  59. build-java:
  60. runs-on: ubuntu-latest
  61. strategy:
  62. matrix:
  63. java: [ '8', '11', '16' ]
  64. steps:
  65. - uses: actions/checkout@v2
  66. - name: Setup java
  67. uses: actions/setup-java@v2
  68. with:
  69. distribution: 'temurin'
  70. java-version: ${{ matrix.java }}
  71. - name: Configure
  72. working-directory: java
  73. run: cmake -DCMAKE_BUILD_TYPE=Debug -S . -B build
  74. - name: Build
  75. working-directory: java/build
  76. run: make
  77. build-packages:
  78. strategy:
  79. matrix:
  80. target:
  81. - centos8
  82. - centos7
  83. - bionic
  84. - focal
  85. fail-fast: false
  86. runs-on: ubuntu-latest
  87. env:
  88. DOCKER: ${{ matrix.target }}
  89. steps:
  90. - uses: actions/checkout@v2
  91. - name: Build image
  92. run: docker build -t tigervnc/$DOCKER .github/containers/$DOCKER
  93. - name: Build packages
  94. run: .github/containers/$DOCKER/build.sh