From 4f1658b99a711b70a01543d7f83ae9c3997c725d Mon Sep 17 00:00:00 2001 From: Kitsune Ral Date: Wed, 17 Apr 2024 16:18:41 +0200 Subject: [PATCH] CI: use macos-14, Qt 6.4 everywhere Also, prepare for disruption announced in https://github.com/actions/runner-images/issues/9679. --- .github/workflows/ci.yml | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d971f9357..853744b54 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,18 +18,12 @@ jobs: fail-fast: false max-parallel: 1 matrix: - os: [ ubuntu-22.04, macos-latest, windows-latest ] + os: [ ubuntu-22.04, macos-14, windows-latest ] qt-version: [ '6.4' ] override-compiler: [ '', GCC ] # Defaults: MSVC on Windows, Clang elsewhere - # Not using binary values here, to make the job captions more readable - exclude: # Drop less important combinations to lower the jobs number - - os: macos-latest - override-compiler: GCC - - os: windows-latest - override-compiler: GCC include: # Attach API updating and static analysis to a couple of jobs - os: ubuntu-22.04 - qt-version: '6.4' + qt-version: '6.4' # That's what is in Ubuntu 22.04 override-compiler: GCC update-api: update-api static-analysis: sonar # NB: to use sonar with Clang, replace gcov usage with lcov @@ -37,9 +31,13 @@ jobs: qt-version: '6.4' override-compiler: '' static-analysis: codeql + - os: macos-14 + qt-version: '6.4' + - os: windows-latest + qt-version: '6.4' steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 @@ -48,20 +46,21 @@ jobs: if: startsWith(matrix.os, 'ubuntu') run: | COMMON_PKGS="libolm-dev ninja-build gnome-keyring" - COMMON_PKGS="$COMMON_PKGS clang-15" # Workaround for https://github.com/actions/runner-images/issues/8659 + COMMON_PKGS="$COMMON_PKGS g++-13 clang-15" # See https://github.com/actions/runner-images/issues/9679 + sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y sudo apt-get -qq update sudo apt-get -qq install $COMMON_PKGS \ - qt6-base-dev libgl1-mesa-dev qt6-l10n-tools qt6-tools-dev qt6-tools-dev-tools qtkeychain-qt6-dev + # qt6-base-dev libgl1-mesa-dev qt6-l10n-tools qt6-tools-dev qt6-tools-dev-tools qtkeychain-qt6-dev gnome-keyring-daemon -d --unlock <<<'' # Create a login keyring with no password - name: Install dependencies (non-Linux) - if: "!startsWith(matrix.os, 'ubuntu')" uses: jurplel/install-qt-action@v3.0.0 with: version: '${{ matrix.qt-version }}.*' cache: true cache-key-prefix: Qt - tools: "tools_ninja${{ startsWith(matrix.os, 'windows') && ' tools_opensslv3_x64' || '' }}" + tools: "${{ (!startsWith(matrix.os, 'ubuntu') && 'tools_ninja ' || '') \ + + ${{ startsWith(matrix.os, 'windows') && ' tools_opensslv3_x64' || '' }}" - name: Setup build environment run: | @@ -91,8 +90,7 @@ jobs: -DBUILD_SHARED_LIBS=${{ runner.os == 'Linux' }} \ -DCMAKE_INSTALL_PREFIX=~/.local \ -DCMAKE_PREFIX_PATH=~/.local \ - -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON \ - -DBUILD_WITH_QT6=${{ startsWith(matrix.qt-version, '6') }}" + -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON QUOTEST_ORIGIN="$QUOTEST_ORIGIN/E2EE" CMAKE_ARGS="$CMAKE_ARGS \