From abcabc5a9ee3e34935c03676aa8d9451fe8f47d0 Mon Sep 17 00:00:00 2001 From: Pierre Ossman Date: Mon, 7 Jun 2021 17:09:15 +0200 Subject: [PATCH] Convert CI to GitHub Actions Travis has unfortunately been severely rate limited by Docker Hub so we have to switch to GitHub, which has an agreement with Docker to avoid the rate limiting. --- .../containers}/bionic/Dockerfile | 0 .../containers}/bionic/build.sh | 0 .../containers}/centos7/Dockerfile | 0 .../containers}/centos7/build.sh | 0 .../containers}/centos8/Dockerfile | 0 .../containers}/centos8/build.sh | 0 .../containers}/focal/Dockerfile | 0 .../containers}/focal/build.sh | 0 .../containers}/xenial/Dockerfile | 0 .../containers}/xenial/build.sh | 0 .github/workflows/build.yml | 74 ++++++++++++++++- .travis.yml | 82 ------------------- 12 files changed, 73 insertions(+), 83 deletions(-) rename {.travis => .github/containers}/bionic/Dockerfile (100%) rename {.travis => .github/containers}/bionic/build.sh (100%) rename {.travis => .github/containers}/centos7/Dockerfile (100%) rename {.travis => .github/containers}/centos7/build.sh (100%) rename {.travis => .github/containers}/centos8/Dockerfile (100%) rename {.travis => .github/containers}/centos8/build.sh (100%) rename {.travis => .github/containers}/focal/Dockerfile (100%) rename {.travis => .github/containers}/focal/build.sh (100%) rename {.travis => .github/containers}/xenial/Dockerfile (100%) rename {.travis => .github/containers}/xenial/build.sh (100%) delete mode 100644 .travis.yml diff --git a/.travis/bionic/Dockerfile b/.github/containers/bionic/Dockerfile similarity index 100% rename from .travis/bionic/Dockerfile rename to .github/containers/bionic/Dockerfile diff --git a/.travis/bionic/build.sh b/.github/containers/bionic/build.sh similarity index 100% rename from .travis/bionic/build.sh rename to .github/containers/bionic/build.sh diff --git a/.travis/centos7/Dockerfile b/.github/containers/centos7/Dockerfile similarity index 100% rename from .travis/centos7/Dockerfile rename to .github/containers/centos7/Dockerfile diff --git a/.travis/centos7/build.sh b/.github/containers/centos7/build.sh similarity index 100% rename from .travis/centos7/build.sh rename to .github/containers/centos7/build.sh diff --git a/.travis/centos8/Dockerfile b/.github/containers/centos8/Dockerfile similarity index 100% rename from .travis/centos8/Dockerfile rename to .github/containers/centos8/Dockerfile diff --git a/.travis/centos8/build.sh b/.github/containers/centos8/build.sh similarity index 100% rename from .travis/centos8/build.sh rename to .github/containers/centos8/build.sh diff --git a/.travis/focal/Dockerfile b/.github/containers/focal/Dockerfile similarity index 100% rename from .travis/focal/Dockerfile rename to .github/containers/focal/Dockerfile diff --git a/.travis/focal/build.sh b/.github/containers/focal/build.sh similarity index 100% rename from .travis/focal/build.sh rename to .github/containers/focal/build.sh diff --git a/.travis/xenial/Dockerfile b/.github/containers/xenial/Dockerfile similarity index 100% rename from .travis/xenial/Dockerfile rename to .github/containers/xenial/Dockerfile diff --git a/.travis/xenial/build.sh b/.github/containers/xenial/build.sh similarity index 100% rename from .travis/xenial/build.sh rename to .github/containers/xenial/build.sh diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7979e529..98a71d1b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -3,7 +3,79 @@ name: Build on: [push, pull_request] jobs: - build: + build-linux: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y libgnutls28-dev libfltk1.3-dev fluid gettext + sudo apt-get install -y libxtst-dev libxdamage-dev libxfixes-dev libxrandr-dev libpam-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 + + build-windows: + runs-on: windows-latest + defaults: + run: + shell: msys2 {0} + steps: + - uses: actions/checkout@v2 + - 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 + - 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 + + build-macos: + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - name: Install dependencies + run: | + brew install fltk pixman + - 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 + + build-packages: + strategy: + matrix: + target: + - centos8 + - centos7 + - xenial + - bionic + - focal + fail-fast: false + runs-on: ubuntu-latest + env: + DOCKER: ${{ matrix.target }} + steps: + - uses: actions/checkout@v2 + - name: Build image + run: docker build -t tigervnc/$DOCKER .github/containers/$DOCKER + - name: Build packages + run: .github/containers/$DOCKER/build.sh diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index fcf79c52..00000000 --- a/.travis.yml +++ /dev/null @@ -1,82 +0,0 @@ -dist: xenial -language: minimal - -env: - - DOCKER=centos8 - - DOCKER=centos7 - - DOCKER=xenial - - DOCKER=bionic - - DOCKER=focal - -matrix: - include: - - language: cpp - env: - before_install: - - sudo apt-get install -y libgnutls-dev libfltk1.3-dev fluid - - sudo apt-get install -y libxtst-dev libxdamage-dev libxfixes-dev libxrandr-dev - script: - - cmake -DCMAKE_BUILD_TYPE=Debug . && make && make tarball - - - language: cpp - os: windows - env: - # From https://docs.travis-ci.com/user/reference/windows/ - before_install: - - |- - choco install --no-progress -y innosetup - [[ ! -f C:/tools/msys64/msys2_shell.cmd ]] && rm -rf C:/tools/msys64 - choco uninstall -y mingw - choco upgrade --no-progress -y msys2 - export msys2='cmd //C RefreshEnv.cmd ' - export msys2+='& set MSYS=winsymlinks:nativestrict ' - export msys2+='& C:\\tools\\msys64\\msys2_shell.cmd -defterm -no-start' - export mingw64="$msys2 -mingw64 -full-path -here -c "\"\$@"\" --" - export msys2+=" -msys2 -c "\"\$@"\" --" - $msys2 pacman --sync --noconfirm --needed mingw-w64-x86_64-toolchain - $msys2 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 - taskkill //IM gpg-agent.exe //F # https://travis-ci.community/t/4967 - export PATH=/C/tools/msys64/mingw64/bin:$PATH - export MAKE=mingw32-make # so that Autotools can find it - script: - - cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=mingw32-make -DCMAKE_C_COMPILER=gcc -DCMAKE=CXX_COMPILER=g++ . && mingw32-make && mingw32-make installer winvnc_installer - before_cache: - - |- - # https://unix.stackexchange.com/a/137322/107554 - $msys2 pacman --sync --clean --noconfirm - cache: - directories: - - $HOME/AppData/Local/Temp/chocolatey - - /C/tools/msys64 - - - language: cpp - os: osx - # The default image is buggy ATM, use the latest - osx_image: xcode11.5 - env: - addons: - homebrew: - packages: - - gettext - - fltk - before_install: - script: - - cmake -DCMAKE_BUILD_TYPE=Debug . && make && make dmg - - - language: java - # compile with java 8 for backwards compatibility - dist: xenial - env: - jdk: openjdk8 - before_install: - - sudo apt-get -y install openjdk-8-jdk - addons: - apt: - update: true - script: - - cd java && cmake . && make - -before_install: - - docker build -t tigervnc/$DOCKER .travis/$DOCKER -script: - - .travis/$DOCKER/build.sh -- 2.39.5