diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d807f5e48..484b923dd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,23 +56,26 @@ jobs: with: fetch-depth: 0 - - name: Install Qt + # Install on Linux via apt to get everything necessary in one go + - name: Install dependencies (Linux) + if: startsWith(matrix.os, 'ubuntu') + run: | + COMMON_PKGS="libolm-dev ninja-build valgrind gnome-keyring" + sudo apt-get -qq update + sudo apt-get -qq install $COMMON_PKGS \ + ${{ matrix.qt-version == 5 && 'qtmultimedia5-dev qt5keychain-dev' + || '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, 'macos') && ' tools_openssl_x64' || '' }}" - - - name: Install other dependencies (Linux) - if: startsWith(matrix.os, 'ubuntu') - run: | - sudo apt-get -qq install valgrind gnome-keyring - gnome-keyring-daemon -d --unlock <<<'' # Create a login keyring with no password - - - name: Install other dependencies (macOS) - if: startsWith(matrix.os, 'macos') && matrix.e2ee - run: brew install openssl + tools: "tools_ninja${{ startsWith(matrix.os, 'windows') && ' tools_opensslv3_x64' || '' }}" - name: Setup build environment run: | @@ -112,11 +115,10 @@ jobs: if [ -n '${{ matrix.e2ee }}' ]; then QUOTEST_ORIGIN="$QUOTEST_ORIGIN/E2EE" - if [ '${{ startsWith(runner.os, 'mac') }}' == 'true' ]; then - CMAKE_ARGS="$CMAKE_ARGS -DOPENSSL_ROOT_DIR=`brew --prefix openssl@1.1`" - else - CMAKE_ARGS="$CMAKE_ARGS -DOPENSSL_ROOT_DIR=$IQTA_TOOLS/OpenSSL/*/" - fi + CMAKE_ARGS="$CMAKE_ARGS \ + ${{ runner.os == 'macOS' && '-DOPENSSL_ROOT_DIR=`brew --prefix openssl`' || + runner.os == 'Windows' && '-DOPENSSL_ROOT_DIR=$IQTA_TOOLS/OpenSSLv3/Win_x64/' || '' }} \ + " fi if [ '${{ matrix.static-analysis }}' == 'sonar' ]; then