Browse Source

CI: Switch to macOS 14 runners and Xcode 15.2

The macOS 14 runners are M1-based and more performant than the macOS 13
runners. They also seems less prone to random failure.

https://github.blog/changelog/2024-01-30-github-actions-macos-14-sonoma-is-now-available/
https://github.blog/changelog/2024-01-30-github-actions-introducing-the-new-m1-macos-runner-available-to-open-source/
Ryan Foster 1 year ago
parent
commit
66978c4d23

+ 3 - 7
.github/workflows/build-project.yaml

@@ -59,7 +59,7 @@ jobs:
 
   macos-build:
     name: macOS 🍏
-    runs-on: macos-13
+    runs-on: macos-14
     needs: check-event
     strategy:
       fail-fast: false
@@ -80,12 +80,8 @@ jobs:
           : Set Up Environment 🔧
           if (( ${+RUNNER_DEBUG} )) setopt XTRACE
 
-          print '::group::Enable Xcode 15.1 and AppleScript'
-          sudo xcode-select --switch /Applications/Xcode_15.1.app/Contents/Developer
-          sudo sqlite3 $HOME/Library/Application\ Support/com.apple.TCC/TCC.db \
-            "INSERT OR REPLACE INTO access VALUES('kTCCServiceAppleEvents','/usr/local/opt/runner/provisioner/provisioner',1,2,3,1,NULL,NULL,0,'com.apple.finder',X'fade0c000000002c00000001000000060000000200000010636f6d2e6170706c652e66696e64657200000003',NULL,1592919552);"
-          sudo sqlite3 /Library/Application\ Support/com.apple.TCC/TCC.db \
-            "INSERT OR REPLACE INTO access VALUES('kTCCServiceAppleEvents','/usr/local/opt/runner/provisioner/provisioner',1,2,3,1,NULL,NULL,0,'com.apple.finder',X'fade0c000000002c00000001000000060000000200000010636f6d2e6170706c652e66696e64657200000003',NULL,1592919552);"
+          print '::group::Enable Xcode 15.2'
+          sudo xcode-select --switch /Applications/Xcode_15.2.app/Contents/Developer
           print '::endgroup::'
 
           print '::group::Clean Homebrew Environment'

+ 1 - 1
.github/workflows/check-format.yaml

@@ -15,7 +15,7 @@ jobs:
           failCondition: error
 
   swift-format:
-    runs-on: macos-13
+    runs-on: macos-14
     steps:
       - uses: actions/checkout@v4
         with:

+ 2 - 2
.github/workflows/dispatch.yaml

@@ -34,7 +34,7 @@ jobs:
   services-validation:
     name: Validate Services 🕵️
     if: github.repository_owner == 'obsproject' && inputs.job == 'services'
-    runs-on: macos-13
+    runs-on: macos-14
     permissions:
       checks: write
       contents: write
@@ -68,7 +68,7 @@ jobs:
   steam-upload:
     name: Upload Steam Builds 🚂
     if: github.repository_owner == 'obsproject' && inputs.job == 'steam'
-    runs-on: macos-13
+    runs-on: macos-14
     steps:
       - uses: actions/checkout@v4
       - uses: ./.github/actions/steam-upload

+ 1 - 1
.github/workflows/publish.yaml

@@ -166,7 +166,7 @@ jobs:
     name: Upload Steam Builds 🚂
     needs: check-tag
     if: github.repository_owner == 'obsproject' && fromJSON(needs.check-tag.outputs.validTag)
-    runs-on: macos-13
+    runs-on: macos-14
     steps:
       - uses: actions/checkout@v4
       - uses: ./.github/actions/steam-upload

+ 2 - 2
.github/workflows/push.yaml

@@ -139,7 +139,7 @@ jobs:
   create-appcast:
     name: Create Sparkle Appcast 🎙️
     if: github.repository_owner == 'obsproject' && github.ref_type == 'tag'
-    runs-on: macos-13
+    runs-on: macos-14
     needs: build-project
     strategy:
       fail-fast: false
@@ -234,7 +234,7 @@ jobs:
           $shortHash = $env:GITHUB_SHA.Substring(0,9)
           "channel=${channel}" >> $env:GITHUB_OUTPUT
           "commitHash=${shortHash}" >> $env:GITHUB_OUTPUT
-          
+
           # Ensure files in action haven't been modified
           $folderHash = ''
           $files = Get-ChildItem "${{ github.workspace }}\repo\.github\actions\bouf"

+ 2 - 2
.github/workflows/scheduled.yaml

@@ -12,7 +12,7 @@ jobs:
   services-availability:
     name: Check Service Availability 🛜
     if: github.repository_owner == 'obsproject'
-    runs-on: macos-13
+    runs-on: macos-14
     permissions:
       checks: write
       contents: write
@@ -133,7 +133,7 @@ jobs:
     name: Upload Steam Builds 🚂
     needs: [build-project]
     if: github.repository_owner == 'obsproject'
-    runs-on: macos-13
+    runs-on: macos-14
     defaults:
       run:
         shell: zsh --no-rcs --errexit --pipefail {0}