Skip to content

Generating new test snapshots for pallares/ci/unify-some-xcode-14-jobs - tvos#6351

Merged
ajpallares merged 1 commit intopallares/ci/unify-some-xcode-14-jobsfrom
generated_snapshots/pallares/ci/unify-some-xcode-14-jobs-481225-tvos
Feb 24, 2026
Merged

Generating new test snapshots for pallares/ci/unify-some-xcode-14-jobs - tvos#6351
ajpallares merged 1 commit intopallares/ci/unify-some-xcode-14-jobsfrom
generated_snapshots/pallares/ci/unify-some-xcode-14-jobs-481225-tvos

Conversation

@RCGitBot
Copy link
Copy Markdown
Contributor

@RCGitBot RCGitBot commented Feb 24, 2026

Requested by @ajpallares for pallares/ci/unify-some-xcode-14-jobs


Note

Low Risk
Only snapshot fixture files were added/updated, with no runtime code changes; risk is limited to tests masking real regressions if snapshots were regenerated incorrectly.

Overview
Regenerates/introduces tvOS 18 unit test snapshots across misc encoding and backend networking tests, updating the expected JSON for requests (headers/body/URLs) and related behaviors like caching, locale handling, and signature/nonce headers.

No production code changes are included; this PR is effectively a test baseline update for the pallares/ci/unify-some-xcode-14-jobs tvOS CI configuration.

Written by Cursor Bugbot for commit 3938207. This will update automatically on new commits. Configure here.

@RCGitBot RCGitBot requested a review from a team as a code owner February 24, 2026 09:34
@RCGitBot RCGitBot added the test label Feb 24, 2026
Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

"method" : "GET",
"url" : "https://api.revenuecat.com/v1/customercenter/user"
}
} No newline at end of file
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tvOS snapshots claim platform is iOS

Medium Severity

The new tvOS18-*.json snapshots assert X-Platform is iOS, which can mask regressions in platform-specific request headers/behavior for tvOS. If the production code is expected to send tvOS (or similar) for tvOS builds, these snapshots will now “bless” an incorrect value and reduce test coverage.

Additional Locations (1)

Fix in Cursor Fix in Web

@ajpallares ajpallares merged commit 58c8bc1 into pallares/ci/unify-some-xcode-14-jobs Feb 24, 2026
4 checks passed
@ajpallares ajpallares deleted the generated_snapshots/pallares/ci/unify-some-xcode-14-jobs-481225-tvos branch February 24, 2026 09:40
ajpallares added a commit that referenced this pull request Feb 25, 2026
* CI: Unify CI jobs to reduce machine count

Merge several pairs of CI jobs that run on the same Xcode version into
single jobs that execute tests sequentially, reducing the total number
of macOS machines needed per CI run.

Unified jobs:
- run-test-ios-14-and-15 (Xcode 14.3.1, includes background iOS 14 sim install)
- run-test-ios-16-and-17 (Xcode 15.4.0)
- run-test-ios-18-and-26 (Xcode 26.3)
- run-test-tvos-and-macos (Xcode 16.4)
- run-revenuecat-ui-ios-17-and-18 (Xcode 16.4)

Each unified job also runs an SPM release build as a preceding step,
absorbing the standalone spm-release-build jobs.

Other changes:
- compress_result_bundle guards against missing .xcresult directories
- push_snapshot_pr in Fastfile saves/restores the original branch

Co-authored-by: Cursor <cursoragent@cursor.com>

* Update Tuist swift-snapshot-testing dependency to match Package.swift

PR #6303 updated Package.swift to use exact: "1.18.9" but the
Tuist/Package.swift was left on the old revision pin.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Restructure iOS test jobs due to Xcode 26 + iOS 18.6 SK1 bug (FB22032719)

iOS 18 SK1 tests fail under Xcode 26 due to an Apple bug where
SKProductsRequest cannot parse the price field (missingValue for
StoreKit.ProductResponse.Key.price). Restructure jobs so iOS 18
runs under Xcode 16 instead:

- run-test-ios-26: standalone on Xcode 26 (iOS 26 only)
- run-test-ios-17-and-18: Xcode 16.4 (iOS 17 + 18)
- run-test-ios-14-15-and-16: Xcode 14.3.1 (iOS 14 + 15 + 16)

Co-authored-by: Cursor <cursoragent@cursor.com>

* Reorder test runs from newest to oldest iOS version

Rename and reorder unified jobs so the highest iOS version runs first:
- run-test-ios-18-and-17 (was 17-and-18)
- run-test-ios-16-15-and-14 (was 14-15-and-16)
- run-revenuecat-ui-ios-18-and-17 (was 17-and-18)

iOS 14 still runs last since its runtime needs to be downloaded first.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Address review: remove temp workflow, make snapshot PR branch restore exception-safe

- Remove test-all-unified workflow and action parameter (was temporary)
- Wrap push_snapshot_pr git operations in begin/ensure to guarantee
  the original branch is restored even if push or PR creation fails

Co-authored-by: Cursor <cursoragent@cursor.com>

* Add SPM release build for Xcode 15 to spm-revenuecat-ui-ios-16 job

The standalone spm-release-build-xcode-15 was removed during
unification but no other Xcode 15 job picked up the RevenueCat
release build. Add it to the only remaining Xcode 15 job.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Split run-test-ios-16 into standalone job and replace validate-package-swift with swift package describe

- Extract iOS 16 tests from run-test-ios-16-15-and-14 into a standalone
  run-test-ios-16 job on Xcode 15.4.0 with SPM release build
- Rename remaining job to run-test-ios-15-and-14 (Xcode 14.3.1)
- Add `swift package describe` as first step in all run-test jobs,
  making the validate-package-swift job redundant
- Remove validate-package-swift job and all workflow references
- Remove SPM RevenueCat build from spm-revenuecat-ui-ios-16 (now
  covered by run-test-ios-16)

Co-authored-by: Cursor <cursoragent@cursor.com>

* Add missing swift package describe to run-test-tvos-and-macos

Co-authored-by: Cursor <cursoragent@cursor.com>

* Limit swift package describe to run-test-ios jobs only

The iOS test jobs already cover all 4 Xcode versions (14, 15, 16, 26),
so tvOS, macOS and watchOS jobs don't need to duplicate the validation.

Co-authored-by: Cursor <cursoragent@cursor.com>

* [TEMP] Corrupt testNestedDictionary snapshots to test generate_snapshots workflow

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix snapshot PR git add glob to match deeply nested __Snapshots__ dirs

The old pattern `../*/__Snapshots__/*` only matched one directory level
on each side of __Snapshots__, but snapshot files are 3+ levels deep
(e.g. Tests/UnitTests/Misc/__Snapshots__/AnyEncodableTests/file.json).
Use `**` for recursive matching in the git pathspec.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Revert "Fix snapshot PR git add glob to match deeply nested __Snapshots__ dirs"

This reverts commit 7cf475f.

* [TEMP] Remove X-Retry-Count from some testRepeatedRequestsLogDebugMessage snapshots

Co-authored-by: Cursor <cursoragent@cursor.com>

* Remove run step for `swift build -c release --target RevenueCat` from `run-test-tvos-and-macos` already present in `run-test-ios-18-and-17` for Xcode 16

* Add snapshot generation support for tvOS tests

- Update test_tvos lane to use CI-RevenueCat-Snapshots test plan when
  generate_snapshots is true (matching test_watchos and test_macos)
- Disable retries and fail_build in snapshot mode
- Add create-snapshot-pr-if-needed step after tvOS tests in CI job

Co-authored-by: Cursor <cursoragent@cursor.com>

* Revert "[TEMP] Remove X-Retry-Count from some testRepeatedRequestsLogDebugMessage snapshots"

This reverts commit 3fef904.

* Revert "[TEMP] Corrupt testNestedDictionary snapshots to test generate_snapshots workflow"

This reverts commit 7a695c0.

* TEMP: corrupt some macOS snapshots to test the snapshot generation

* TEMP: only run `run-test-tvos-and-macos` for snapshots generation

* Add tvOS-specific snapshot file prefix

tvOS was falling through to the #else branch in osVersionAndTestName,
generating snapshots with the iOS prefix (e.g. iOS18-testFoo.1.json).
This meant tvOS snapshots were indistinguishable from iOS snapshots.

Add a #elseif os(tvOS) branch to produce tvOS-prefixed snapshot files
(e.g. tvOS18-testFoo.1.json), enabling independent tvOS snapshot
generation and validation.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Revert "TEMP: only run `run-test-tvos-and-macos` for snapshots generation"

This reverts commit c06e438.

* Revert "TEMP: corrupt some macOS snapshots to test the snapshot generation"

This reverts commit c486f7f.

* [skip ci] Generating new test snapshots (#6351)

* Add 30-minute timeout to iOS 14 runtime wait loop

The existing no_output_timeout doesn't apply because the loop prints
periodic "Still waiting..." messages. Add an explicit elapsed-time
check so the step fails cleanly instead of waiting indefinitely.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Remove redundant no_output_timeout from iOS 14 runtime wait step

The loop prints output every 10 seconds, so no_output_timeout never
triggers. The explicit 30-minute elapsed-time check is sufficient.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: RevenueCat Git Bot <72824662+RCGitBot@users.noreply.github.com>
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.

2 participants