runs-on: ubuntu-latest
container: quassel/quassel-build-env:${{ matrix.dist }}
strategy:
+ fail-fast: false
matrix:
- dist: [ debian-stable, debian-testing, ubuntu-xenial, ubuntu-bionic, ubuntu-eoan, ubuntu-focal ]
- cxx: [ gcc, clang++ ]
+ dist: [ debian-stable, debian-testing, ubuntu-xenial, ubuntu-bionic, ubuntu-focal, ubuntu-groovy ]
+ cxx: [ 'g++', 'clang++' ]
with-kde: [ -DWITH_KDE=ON ]
extra-options: [ -DWITH_WEBENGINE=ON ]
include:
CCACHE_BASEDIR: ${{ github.workspace }}
CCACHE_DIR: ${{ github.workspace }}/ccache
CCACHE_MAXSIZE: 100M
+ CXX: ${{ matrix.cxx }}
steps:
- name: Check out source code
CCACHE_MAXSIZE: 100M
steps:
+ - name: Select Xcode version
+ uses: maxim-lobanov/setup-xcode@v1
+ with:
+ # Newer Xcode versions may not officially be supported by Qt
+ xcode-version: '10.3'
+
- name: Check out source code
uses: actions/checkout@v2
with:
run: git fetch -f origin $GITHUB_REF:$GITHUB_REF
- name: Install dependencies
- run: brew update && brew install boost ccache ninja qca qt5
+ # Skip "brew update" as it can trigger 50+ minutes of updating.
+ # GitHub Actions intentionally disables the default auto-update on their
+ # macOS CI images (and macOS CI images usually update once a week).
+ #
+ # See https://github.com/actions/virtual-environments/issues/2173
+ # > We've set no auto-update intentionally here [...]
+ # And https://github.com/microsoft/appcenter/issues/293
+ #
+ # If Homebrew begins failing in the future due to out-of-date versions,
+ # it can be re-enabled here as follows...
+ # run: brew update && [below command]
+ run: brew install boost ccache ninja qca qt@5
- name: Get timestamp
id: get-timestamp
mkdir build
cd build && cmake $GITHUB_WORKSPACE \
-GNinja \
- -DCMAKE_PREFIX_PATH=/usr/local/opt/qt/lib/cmake \
+ -DWANT_CORE=ON \
+ -DWANT_QTCLIENT=ON \
+ -DWANT_MONO=ON \
+ -DCMAKE_PREFIX_PATH=$(brew --prefix)/opt/qt@5 \
+ -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/bundles \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_TESTING=ON \
-DFATAL_WARNINGS=OFF \
- -DDEPLOY=ON \
- -DENABLE_SHARED=OFF
+ -DENABLE_SHARED=OFF \
+ -DBUNDLE=ON \
- name: Build
- run: |
- # Deploy scripts require qmake in the path
- export PATH=$PATH:/usr/local/opt/qt5/bin
- cd build && ninja
+ run: cd build && ninja
- name: Run tests
run: cd build && ctest
- name: Install
- run: cd build && DESTDIR=$GITHUB_WORKSPACE/image ninja install
+ run: cd build && ninja install
- name: Print ccache stats
run: ccache -s
uses: actions/upload-artifact@v2
with:
name: macOS
- path: ${{ github.workspace }}/build/*.dmg
+ path: ${{ github.workspace }}/bundles/*.dmg
# ------------------------------------------------------------------------------------------------------------------------------------------
build-windows: