Skip to content

Move general common code to "core" library #944

Move general common code to "core" library

Move general common code to "core" library #944

Workflow file for this run

name: Build
on: [push, pull_request]
jobs:
build-linux:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libfltk1.3-dev fluid gettext appstream
sudo apt-get install -y libpixman-1-dev libjpeg-turbo8-dev
sudo apt-get install -y libgnutls28-dev nettle-dev libgmp-dev
sudo apt-get install -y libxtst-dev libxdamage-dev libxfixes-dev libxrandr-dev libpam-dev
sudo apt-get install -y libavcodec-dev libavutil-dev libswscale-dev
- name: Configure
run: cmake -DCMAKE_BUILD_TYPE=Debug -S . -B build
- name: Build
working-directory: build
run: make
- name: Install
working-directory: build
run: make tarball
- uses: actions/upload-artifact@v4
with:
name: Linux (Ubuntu)
path: build/tigervnc-*.tar.gz
build-windows:
runs-on: windows-latest
timeout-minutes: 20
defaults:
run:
shell: msys2 {0}
steps:
- uses: actions/checkout@v4
- uses: msys2/setup-msys2@v2
- name: Install dependencies
run: |
pacman --sync --noconfirm --needed \
make mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake
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 \
mingw-w64-x86_64-nettle mingw-w64-x86_64-gmp
- name: Configure
run: cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Debug -S . -B build
- name: Build
working-directory: build
run: make
- name: Install
working-directory: build
env:
MSYS2_PATH_TYPE: inherit
run: make installer winvnc_installer
- uses: actions/upload-artifact@v4
with:
name: Windows
path: build/release/tigervnc*.exe
build-macos:
runs-on: macos-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
brew install fltk pixman ffmpeg
brew install gnutls nettle gmp
- name: Configure
run: cmake -DCMAKE_BUILD_TYPE=Debug -S . -B build
- name: Build
working-directory: build
run: make
- name: Install
working-directory: build
run: make dmg
- uses: actions/upload-artifact@v4
with:
name: macOS
path: build/TigerVNC-*.dmg
build-java:
runs-on: ubuntu-latest
timeout-minutes: 5
strategy:
matrix:
java: [ '8', '11', '16' ]
steps:
- uses: actions/checkout@v4
- name: Setup java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
- name: Configure
working-directory: java
run: cmake -DCMAKE_BUILD_TYPE=Debug -S . -B build
- name: Build
working-directory: java/build
run: make
- uses: actions/upload-artifact@v4
with:
name: Java (${{ matrix.java }})
path: java/build/VncViewer.jar
build-packages:
timeout-minutes: 20
strategy:
matrix:
target:
- rocky8
- rocky9
- focal
- jammy
- noble
fail-fast: false
runs-on: ubuntu-latest
env:
DOCKER: ${{ matrix.target }}
steps:
- uses: actions/checkout@v4
- name: Build image
run: docker build -t tigervnc/$DOCKER .github/containers/$DOCKER
- name: Build packages
run: .github/containers/$DOCKER/build.sh
- uses: actions/upload-artifact@v4
with:
name: Packages (${{ matrix.target }})
path: .github/containers/${{ matrix.target }}/result