summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/build.yml105
-rw-r--r--.travis.yml45
-rw-r--r--README.md4
3 files changed, 107 insertions, 47 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000..10e0430
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,105 @@
+# Continuous integration and pull request validation builds
+name: CI builds
+on:
+ push:
+ branches: [ master, actions_ci ]
+ pull_request:
+ branches: [ master, actions_ci ]
+
+jobs:
+ job:
+ name: ${{ matrix.name }}-build
+ runs-on: ${{ matrix.os }}
+ env: ${{ matrix.env }}
+
+ strategy:
+ fail-fast: false
+ matrix:
+ name: [macos-clang, ubuntu-20.04-clang, ubuntu-18.04-g++, ubuntu-20.04-g++]
+ qt_ver: [5.12.0, 5.15.1]
+ include:
+ - name: macos-clang
+ os: macos-latest
+ env:
+ CXX: clang++
+ CC: clang
+ - name: ubuntu-20.04-clang
+ os: ubuntu-20.04
+ env:
+ CXX: clang++
+ CC: clang
+ - name: ubuntu-18.04-g++
+ os: ubuntu-18.04
+ env:
+ CXX: g++
+ CC: gcc
+ - name: ubuntu-20.04-g++
+ os: ubuntu-20.04
+ env:
+ CXX: g++
+ CC: gcc
+ - name: windows-x64-vs19-qt-5.15.1
+ qt_ver: 5.15.1
+ os: windows-latest
+ msvc_arch: x64
+ qt_arch: win64_msvc2019_64
+ env:
+ CXX: cl
+ C: cl
+ - name: windows-x64-vs19-qt-5.12.0
+ qt_ver: 5.12.0
+ os: windows-latest
+ msvc_arch: x64
+ qt_arch: win64_msvc2017_64
+ env:
+ CXX: cl
+ C: cl
+ - name: windows-x86-vs19-qt-5.15.1
+ qt_ver: 5.15.1
+ os: windows-latest
+ msvc_arch: x86
+ qt_arch: win32_msvc2019
+ env:
+ CXX: cl
+ C: cl
+ - name: windows-x86-vs19-qt-5.12.0
+ qt_ver: 5.12.0
+ os: windows-latest
+ msvc_arch: x86
+ qt_arch: win32_msvc2017
+ env:
+ CXX: cl
+ C: cl
+
+ steps:
+ - name: Check out sources
+ uses: actions/checkout@v2
+
+ - name: Get latest CMake and ninja
+ uses: lukka/get-cmake@latest
+
+ - name: Cache Qt
+ id: cache-qt
+ uses: actions/cache@v2
+ with:
+ path: ../Qt
+ key: ${{ runner.os }}-${{ matrix.qt_ver }}-${{ matrix.qt_arch }}-Qt-cache
+
+ - name: Install Qt
+ uses: jurplel/install-qt-action@v2
+ with:
+ version: ${{ matrix.qt_ver }}
+ arch: ${{ matrix.qt_arch }}
+ cached: ${{ steps.cache-qt.outputs.cache-hit }}
+
+ - name: Add MSVC to path
+ uses: ilammy/msvc-dev-cmd@v1
+ with:
+ arch: ${{ matrix.msvc_arch }}
+
+ - name: Generate and build
+ run: |
+ mkdir build
+ cd build
+ cmake -G Ninja ../quacker
+ ninja -v
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 133e57b..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,45 +0,0 @@
-language: cpp
-dist: xenial
-
-matrix:
- include:
- - os: linux
- compiler: gcc
-
- - os: linux
- compiler: clang
-
- - os: osx
-
-addons:
- homebrew:
- packages:
- - qt
- update: true
-
-before_install:
-
-install:
- - export QT_SELECT=5
- - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get install -y qtbase5-dev; fi
- - if [ $TRAVIS_OS_NAME = osx ]; then brew link --force qt; fi
- - qmake -v
-
-script:
- - qmake -r "QMAKE_CXX=$CXX" "QMAKE_CC=$CC" && make -j 2
- - cd quackleio && qmake -r "QMAKE_CXX=$CXX" "QMAKE_CC=$CC" && make -j 2
- - cd ..
- - cd quacker && qmake -r "QMAKE_CXX=$CXX" "QMAKE_CC=$CC" && make -j 2
- - cd ..
- - cd encodeleaves && qmake -r "QMAKE_CXX=$CXX" "QMAKE_CC=$CC" && make -j 2
- - cd ..
- - cd gaddagize && qmake -r "QMAKE_CXX=$CXX" "QMAKE_CC=$CC" && make -j 2
- - cd ..
- - cd makegaddag && qmake -r "QMAKE_CXX=$CXX" "QMAKE_CC=$CC" && make -j 2
- - cd ..
- - cd makeminidawg && qmake -r "QMAKE_CXX=$CXX" "QMAKE_CC=$CC" && make -j 2
- - cd ..
- - cd quackleio/iotest && qmake -r "QMAKE_CXX=$CXX" "QMAKE_CC=$CC" && make -j 2
- - cd ../..
- - cd test && qmake -r "QMAKE_CXX=$CXX" "QMAKE_CC=$CC" && make -j 2
- - cd ..
diff --git a/README.md b/README.md
index a2e5b17..cbfdbdf 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
Quackle ![Icon](https://github.com/quackle/quackle/raw/master/IconSmall.png)
=======
-[![Travis build status](https://secure.travis-ci.org/quackle/quackle.png?branch=master)](http://travis-ci.org/quackle/quackle)
[![AppVeyor build status](https://ci.appveyor.com/api/projects/status/ttcu5vruvcdljwel/branch/master?svg=true)](https://ci.appveyor.com/project/jfultz/quackle/branch/master)
+[![CI builds](https://github.com/quackle/quackle/workflows/CI%20builds/badge.svg)](https://github.com/quackle/quackle/actions?query=workflow%3A%22CI+Builds%22+event%3Apush)
Crossword game artificial intelligence and analysis tool.
@@ -10,7 +10,7 @@ See LICENSE in this directory.
Building Quackle:
-----------------
-Quackle is built and tested with the latest releases of Qt 5.12 and 5.13.
+Quackle runs automated GitHub CI builds on Qt 5.12 and 5.15, so it should work with any Qt version in that range.
See README.MacOS and README.Windows for platform-specific instructions. Generally:
Clone the repo or download the tarball and untar. Use qmake to build quackle.pro and quackleio/quackleio.pro: