From b93485fe8d130ad0d1c983faf3166ffd72636514 Mon Sep 17 00:00:00 2001 From: rory Date: Tue, 21 Apr 2026 13:14:26 -0700 Subject: [PATCH 1/3] chore: migrate all macOS GH runners to blacksmith-12vcpu-macos-latest Switches every macos-15-xlarge, macos-15, and macos-latest runner in .github/workflows to blacksmith-12vcpu-macos-latest. Made-with: Cursor --- .github/workflows/buildIOS.yml | 2 +- .github/workflows/createNewVersion.yml | 2 +- .github/workflows/deploy.yml | 4 ++-- .github/workflows/remote-build-ios.yml | 2 +- .github/workflows/syncVersions.yml | 2 +- .github/workflows/verifyParserFiles.yml | 2 +- .github/workflows/verifyPodfile.yml | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/buildIOS.yml b/.github/workflows/buildIOS.yml index 16b945cc61ec..8049d9457457 100644 --- a/.github/workflows/buildIOS.yml +++ b/.github/workflows/buildIOS.yml @@ -51,7 +51,7 @@ on: jobs: build: name: Build iOS HybridApp - runs-on: macos-15-xlarge + runs-on: blacksmith-12vcpu-macos-latest env: DEVELOPER_DIR: /Applications/Xcode_26.2.app/Contents/Developer PULL_REQUEST_NUMBER: ${{ inputs.pull-request-number }} diff --git a/.github/workflows/createNewVersion.yml b/.github/workflows/createNewVersion.yml index 401a26be9883..571018f98001 100644 --- a/.github/workflows/createNewVersion.yml +++ b/.github/workflows/createNewVersion.yml @@ -41,7 +41,7 @@ on: jobs: createNewVersion: - runs-on: macos-latest + runs-on: blacksmith-12vcpu-macos-latest outputs: NEW_VERSION: ${{ steps.bumpVersion.outputs.NEW_VERSION }} steps: diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index f165e79ad8e4..36e31a3d2ca9 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -315,7 +315,7 @@ jobs: iosUploadTestflight: name: Upload iOS to TestFlight needs: [prep, iosBuild] - runs-on: macos-15-xlarge + runs-on: blacksmith-12vcpu-macos-latest if: ${{ fromJSON(needs.prep.outputs.SHOULD_BUILD_NATIVE) }} env: DEVELOPER_DIR: /Applications/Xcode_26.2.app/Contents/Developer @@ -395,7 +395,7 @@ jobs: iosSubmit: name: Submit iOS for production rollout needs: [prep, iosBuild, iosUploadTestflight] - runs-on: macos-15-xlarge + runs-on: blacksmith-12vcpu-macos-latest if: ${{ always() && !cancelled() && github.ref == 'refs/heads/production' && needs.iosBuild.result != 'failure' && needs.iosUploadTestflight.result != 'failure' }} env: DEVELOPER_DIR: /Applications/Xcode_26.2.app/Contents/Developer diff --git a/.github/workflows/remote-build-ios.yml b/.github/workflows/remote-build-ios.yml index 22726e6976ad..473b538bbd40 100644 --- a/.github/workflows/remote-build-ios.yml +++ b/.github/workflows/remote-build-ios.yml @@ -18,7 +18,7 @@ concurrency: jobs: build: - runs-on: ${{ github.repository_owner == 'Expensify' && 'macos-15-xlarge' || 'macos-15' }} + runs-on: blacksmith-12vcpu-macos-latest env: DEVELOPER_DIR: /Applications/Xcode_26.2.app/Contents/Developer strategy: diff --git a/.github/workflows/syncVersions.yml b/.github/workflows/syncVersions.yml index 3b54b13f2e12..be5d15a33380 100644 --- a/.github/workflows/syncVersions.yml +++ b/.github/workflows/syncVersions.yml @@ -10,7 +10,7 @@ on: jobs: syncVersions: - runs-on: macos-latest + runs-on: blacksmith-12vcpu-macos-latest steps: - name: Check out # v6 diff --git a/.github/workflows/verifyParserFiles.yml b/.github/workflows/verifyParserFiles.yml index 91fc8c5952bd..221e962a8fd5 100644 --- a/.github/workflows/verifyParserFiles.yml +++ b/.github/workflows/verifyParserFiles.yml @@ -10,7 +10,7 @@ on: jobs: verify: if: github.actor != 'OSBotify' && github.actor != 'imgbot[bot]' - runs-on: macos-latest + runs-on: blacksmith-12vcpu-macos-latest steps: - name: Checkout # v6 diff --git a/.github/workflows/verifyPodfile.yml b/.github/workflows/verifyPodfile.yml index 2ff18af1caa6..d2f3b2e40615 100644 --- a/.github/workflows/verifyPodfile.yml +++ b/.github/workflows/verifyPodfile.yml @@ -12,7 +12,7 @@ on: jobs: verify: if: github.actor != 'OSBotify' && github.actor != 'imgbot[bot]' - runs-on: macos-latest + runs-on: blacksmith-12vcpu-macos-latest steps: - name: Checkout # v6 From 9d36a5ffff2dafcdc873d79ca43161164b25253d Mon Sep 17 00:00:00 2001 From: rory Date: Tue, 21 Apr 2026 13:17:53 -0700 Subject: [PATCH 2/3] chore: use blacksmith-6vcpu for formerly small macOS runners createNewVersion, syncVersions, verifyParserFiles, and verifyPodfile were previously on macos-latest (default size), so they get the smaller blacksmith-6vcpu-macos-latest rather than the 12vcpu variant. Made-with: Cursor --- .github/workflows/createNewVersion.yml | 2 +- .github/workflows/syncVersions.yml | 2 +- .github/workflows/verifyParserFiles.yml | 2 +- .github/workflows/verifyPodfile.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/createNewVersion.yml b/.github/workflows/createNewVersion.yml index 571018f98001..db4768edc5d9 100644 --- a/.github/workflows/createNewVersion.yml +++ b/.github/workflows/createNewVersion.yml @@ -41,7 +41,7 @@ on: jobs: createNewVersion: - runs-on: blacksmith-12vcpu-macos-latest + runs-on: blacksmith-6vcpu-macos-latest outputs: NEW_VERSION: ${{ steps.bumpVersion.outputs.NEW_VERSION }} steps: diff --git a/.github/workflows/syncVersions.yml b/.github/workflows/syncVersions.yml index be5d15a33380..5dd210f290b3 100644 --- a/.github/workflows/syncVersions.yml +++ b/.github/workflows/syncVersions.yml @@ -10,7 +10,7 @@ on: jobs: syncVersions: - runs-on: blacksmith-12vcpu-macos-latest + runs-on: blacksmith-6vcpu-macos-latest steps: - name: Check out # v6 diff --git a/.github/workflows/verifyParserFiles.yml b/.github/workflows/verifyParserFiles.yml index 221e962a8fd5..56884ac89ee6 100644 --- a/.github/workflows/verifyParserFiles.yml +++ b/.github/workflows/verifyParserFiles.yml @@ -10,7 +10,7 @@ on: jobs: verify: if: github.actor != 'OSBotify' && github.actor != 'imgbot[bot]' - runs-on: blacksmith-12vcpu-macos-latest + runs-on: blacksmith-6vcpu-macos-latest steps: - name: Checkout # v6 diff --git a/.github/workflows/verifyPodfile.yml b/.github/workflows/verifyPodfile.yml index d2f3b2e40615..b95b435f694d 100644 --- a/.github/workflows/verifyPodfile.yml +++ b/.github/workflows/verifyPodfile.yml @@ -12,7 +12,7 @@ on: jobs: verify: if: github.actor != 'OSBotify' && github.actor != 'imgbot[bot]' - runs-on: blacksmith-12vcpu-macos-latest + runs-on: blacksmith-6vcpu-macos-latest steps: - name: Checkout # v6 From 0301be6c93505621104726b917d0083cdfe1d521 Mon Sep 17 00:00:00 2001 From: rory Date: Tue, 21 Apr 2026 13:54:07 -0700 Subject: [PATCH 3/3] chore: restore org guard in remote-build-ios runner Falls back to macos-latest for non-Expensify forks instead of always using the Blacksmith runner. Made-with: Cursor --- .github/workflows/remote-build-ios.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/remote-build-ios.yml b/.github/workflows/remote-build-ios.yml index 473b538bbd40..85610491eb78 100644 --- a/.github/workflows/remote-build-ios.yml +++ b/.github/workflows/remote-build-ios.yml @@ -18,7 +18,7 @@ concurrency: jobs: build: - runs-on: blacksmith-12vcpu-macos-latest + runs-on: ${{ github.repository_owner == 'Expensify' && 'blacksmith-12vcpu-macos-latest' || 'macos-latest' }} env: DEVELOPER_DIR: /Applications/Xcode_26.2.app/Contents/Developer strategy: