From 6632b0f880ed41be1dba0838f9a3b5f3e6154abb Mon Sep 17 00:00:00 2001 From: Mahmoud Elmorabea Date: Tue, 4 Aug 2026 22:41:01 +0300 Subject: [PATCH 1/2] ci: move iOS sample-app build to macos-26, drop runtime download MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Repins setup-ios to the macos-26 branch, which has no `xcodebuild -downloadPlatform iOS` step. That step was fetching iOS 26.3.1 on every run — a runtime not on the macos-15 image and never used by these jobs, at a measured median of 190s per invocation (~157 min/week here). The runner bump is required in the same commit: this call site passes no xcode-version, so it now picks up the action's new 26.6 default, and 26.6 is not installed on macos-15. deploy-npm.yml moves off macos-15 as well; it does not use setup-ios. Co-Authored-By: Claude Opus 5 --- .github/workflows/build-sample-app.yml | 4 ++-- .github/workflows/deploy-npm.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-sample-app.yml b/.github/workflows/build-sample-app.yml index bc2628b8..dbf162b1 100644 --- a/.github/workflows/build-sample-app.yml +++ b/.github/workflows/build-sample-app.yml @@ -52,7 +52,7 @@ env: jobs: build-sample-app: name: Building ${{ inputs.platform_name }} ${{ inputs.app_name }} sample app with SDK version ${{ inputs.sdk_version }} - runs-on: macos-15 + runs-on: macos-26 defaults: run: working-directory: example # sets working directory for all steps in this job @@ -238,7 +238,7 @@ jobs: - name: Setup ${{ inputs.platform_name }} environment for the ${{ inputs.platform }} sample app if: ${{ inputs.platform == 'ios' }} - uses: customerio/mobile-ci-tools/github-actions/ios/setup-ios/v1@MacOS-15+iOS-26 + uses: customerio/mobile-ci-tools/github-actions/ios/setup-ios/v1@macos-26 - name: Build and upload ${{ inputs.platform_name }} ${{ inputs.app_name }} sample app via Fastlane id: build_app diff --git a/.github/workflows/deploy-npm.yml b/.github/workflows/deploy-npm.yml index d54f4c31..8e50cbc1 100644 --- a/.github/workflows/deploy-npm.yml +++ b/.github/workflows/deploy-npm.yml @@ -18,7 +18,7 @@ env: jobs: deploy-cocoapods: name: Deploy SDK to Cocoapods - runs-on: macos-15 + runs-on: macos-26 steps: - uses: actions/checkout@v4 - name: Checkout existing tag if manually running CI task From 32bcc575ced8409277bf7f042b6e697cf9d5d244 Mon Sep 17 00:00:00 2001 From: Mahmoud Elmorabea Date: Wed, 5 Aug 2026 15:01:19 +0300 Subject: [PATCH 2/2] ci: move the npm deploy job to ubuntu instead of macOS This job is named deploy-cocoapods but never invokes pod: it checks out, runs npm ci, and publishes to npm. Bumping it to macos-26 along with the real iOS jobs kept a Node publish on the org-capped macOS pool, which is the opposite of what this migration is for. Job id is left as-is deliberately; renaming it would change the check name. Co-Authored-By: Claude Opus 5 --- .github/workflows/deploy-npm.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy-npm.yml b/.github/workflows/deploy-npm.yml index 8e50cbc1..f13ec445 100644 --- a/.github/workflows/deploy-npm.yml +++ b/.github/workflows/deploy-npm.yml @@ -18,7 +18,10 @@ env: jobs: deploy-cocoapods: name: Deploy SDK to Cocoapods - runs-on: macos-26 + # Despite the job name, nothing here touches CocoaPods: the steps are checkout, npm ci and + # an npm publish. It does not need a macOS runner, and the macOS pool is capped org-wide. + # Job id left alone on purpose — renaming it would change the check name. + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Checkout existing tag if manually running CI task