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.7KB

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. - name: Configure
  14. run: cmake -DCMAKE_BUILD_TYPE=Debug -S . -B build
  15. - name: Build
  16. working-directory: build
  17. run: make
  18. - name: Install
  19. working-directory: build
  20. run: make tarball
  21. build-windows:
  22. runs-on: windows-latest
  23. defaults:
  24. run:
  25. shell: msys2 {0}
  26. steps:
  27. - uses: actions/checkout@v2
  28. - uses: msys2/setup-msys2@v2
  29. - name: Install dependencies
  30. run: |
  31. pacman --sync --noconfirm --needed make mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake
  32. 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
  33. - name: Configure
  34. run: cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Debug -S . -B build
  35. - name: Build
  36. working-directory: build
  37. run: make
  38. - name: Install
  39. working-directory: build
  40. env:
  41. MSYS2_PATH_TYPE: inherit
  42. run: make installer winvnc_installer
  43. build-macos:
  44. runs-on: macos-latest
  45. steps:
  46. - uses: actions/checkout@v2
  47. - name: Install dependencies
  48. run: |
  49. brew install fltk pixman
  50. - name: Configure
  51. run: cmake -DCMAKE_BUILD_TYPE=Debug -S . -B build
  52. - name: Build
  53. working-directory: build
  54. run: make
  55. - name: Install
  56. working-directory: build
  57. run: make dmg
  58. build-java:
  59. runs-on: ubuntu-latest
  60. strategy:
  61. matrix:
  62. java: [ '8', '11', '16' ]
  63. steps:
  64. - uses: actions/checkout@v2
  65. - name: Setup java
  66. uses: actions/setup-java@v2
  67. with:
  68. distribution: 'temurin'
  69. java-version: ${{ matrix.java }}
  70. - name: Configure
  71. working-directory: java
  72. run: cmake -DCMAKE_BUILD_TYPE=Debug -S . -B build
  73. - name: Build
  74. working-directory: java/build
  75. run: make
  76. build-packages:
  77. strategy:
  78. matrix:
  79. target:
  80. - centos8
  81. - centos7
  82. - xenial
  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