Skip to content

Unify installation tests into a single CI job#6266

Open
ajpallares wants to merge 3 commits intomainfrom
pallares/unify-installation-tests-into-one-job
Open

Unify installation tests into a single CI job#6266
ajpallares wants to merge 3 commits intomainfrom
pallares/unify-installation-tests-into-one-job

Conversation

@ajpallares
Copy link
Contributor

Checklist

  • If applicable, unit tests
  • If applicable, create follow-up issues for purchases-android and hybrids

Motivation

We have a CI bottleneck caused by too many concurrent jobs. Installation tests currently run as 6 separate jobs (CocoaPods, SPM, Custom Entitlement SPM, Receipt Parser, Carthage, Xcode Direct), each consuming a macOS executor. This reduces the number of concurrent jobs by 5.

Description

Unifies all 6 installation test jobs into a single installation-tests job with per-test caching for fast retries:

  • Single job, separate steps: each installation test runs as its own step within one job, sharing common setup (checkout, dependency installation, API key replacement, Carthage upgrade).
  • Per-test success caching: after a test passes, a SUCCESS marker is saved to CircleCI cache keyed by installation-test-<name>-<commit-hash>. On retries, the marker is restored and the test is skipped immediately.
  • Independent execution: all steps use when: always so every test runs regardless of prior failures. Failed steps show as red in the CI UI for easy identification.
  • Final summary: a closing step reports which tests failed and ensures the job exits with the correct status.

This caching mechanism means that when retrying a flaky failure, only the tests that actually failed are re-run — passing tests are skipped instantly.

Made with Cursor

@ajpallares ajpallares requested a review from a team as a code owner February 13, 2026 21:28
@emerge-tools
Copy link

emerge-tools bot commented Feb 13, 2026

📸 Snapshot Test

Base build not found

No build was found for the base commit b08aba7. This is required to generate a snapshot diff for your pull request.

It's possible that you created a branch off the base commit before all of the CI steps have finished processing, e.g. the one that uploads a build to our system. If that's the case, no problem! Just wait and this will eventually resolve.


🛸 Powered by Emerge Tools

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant