aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorAlexey Rusakov <Kitsune-Ral@users.sf.net>2022-07-08 09:28:58 +0200
committerAlexey Rusakov <Kitsune-Ral@users.sf.net>2022-07-08 09:29:53 +0200
commit955e1314ebfd83d6f44d88547159e6492035681e (patch)
tree11fd116f62c1aa8caaf49b5d250e1d8b82da54fd /.github/workflows
parent64948b6840032b04ef00bfe207baa29dd445d141 (diff)
downloadlibquotient-955e1314ebfd83d6f44d88547159e6492035681e.tar.gz
libquotient-955e1314ebfd83d6f44d88547159e6492035681e.zip
CI: use GCC 11 and (therefore) ubuntu-22.04
GCC 10 ICE's[1] in qt_connection_util.h code; and ubuntu-20.04 doesn't have GCC 11. Also: patch a Qt 5.15 header when compiling with GCC because a combination of Qt 5.15 and GCC 11 in turn triggers QTBUG-91909/90568... Which in turn required moving Qt setup before the build environment setup. Life's fun. [1] Internal Compiler Error
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/ci.yml41
1 files changed, 23 insertions, 18 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index d619385f..f84356b0 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -47,12 +47,12 @@ jobs:
compiler: LLVM
e2ee: e2ee
static-analysis: codeql
- - os: ubuntu-latest
+ - os: ubuntu-22.04
qt-version: '5.15.2'
compiler: GCC
e2ee: e2ee
static-analysis: sonar
- - os: ubuntu-20.04
+ - os: ubuntu-22.04
qt-version: '5.15.2'
compiler: GCC
e2ee: e2ee
@@ -82,11 +82,30 @@ jobs:
with:
fetch-depth: 0
+ - name: Cache Qt
+ id: cache-qt
+ uses: actions/cache@v2
+ with:
+ path: ${{ runner.workspace }}/Qt
+ key: ${{ runner.os }}${{ matrix.platform }}-Qt${{ matrix.qt-version }}-cache
+
+ - name: Install Qt
+ uses: jurplel/install-qt-action@v2.14.0
+ with:
+ version: ${{ matrix.qt-version }}
+ arch: ${{ matrix.qt-arch }}
+ cached: ${{ steps.cache-qt.outputs.cache-hit }}
+
- name: Setup build environment
run: |
if [ '${{ matrix.compiler }}' == 'GCC' ]; then
- echo "CC=gcc-10" >>$GITHUB_ENV
- echo "CXX=g++-10" >>$GITHUB_ENV
+ echo "CC=gcc" >>$GITHUB_ENV
+ echo "CXX=g++" >>$GITHUB_ENV
+ if [ '${{ startsWith(matrix.qt-version, '5') }}' == 'true' ]; then
+ # Patch Qt to avoid GCC tumbling over QTBUG-90568/QTBUG-91909
+ sed -i 's/ThreadEngineStarter<void>(ThreadEngine<void> \*_threadEngine)/ThreadEngineStarter(ThreadEngine<void> \*_threadEngine)/' \
+ $Qt5_DIR/include/QtConcurrent/qtconcurrentthreadengine.h
+ fi
elif [[ '${{ runner.os }}' != 'Windows' ]]; then
echo "CC=clang" >>$GITHUB_ENV
echo "CXX=clang++" >>$GITHUB_ENV
@@ -124,20 +143,6 @@ jobs:
cmake -E make_directory ${{ runner.workspace }}/build
echo "BUILD_PATH=${{ runner.workspace }}/build/libQuotient" >>$GITHUB_ENV
- - name: Cache Qt
- id: cache-qt
- uses: actions/cache@v2
- with:
- path: ${{ runner.workspace }}/Qt
- key: ${{ runner.os }}${{ matrix.platform }}-Qt${{ matrix.qt-version }}-cache
-
- - name: Install Qt
- uses: jurplel/install-qt-action@v2.14.0
- with:
- version: ${{ matrix.qt-version }}
- arch: ${{ matrix.qt-arch }}
- cached: ${{ steps.cache-qt.outputs.cache-hit }}
-
- name: Install Ninja (macOS/Windows)
if: ${{ !startsWith(matrix.os, 'ubuntu') }}
uses: seanmiddleditch/gha-setup-ninja@v3