ci: Select explicit Xcode version on macOS
[quassel.git] / .github / workflows / main.yml
index a8bd58d..c0dae8e 100644 (file)
@@ -17,9 +17,10 @@ jobs:
     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:
@@ -38,6 +39,7 @@ jobs:
         CCACHE_BASEDIR: ${{ github.workspace }}
         CCACHE_DIR: ${{ github.workspace }}/ccache
         CCACHE_MAXSIZE: 100M
+        CXX: ${{ matrix.cxx }}
 
     steps:
     - name: Check out source code
@@ -91,6 +93,12 @@ jobs:
       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:
@@ -101,7 +109,18 @@ jobs:
       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 qt5
 
     - name: Get timestamp
       id: get-timestamp