Skip to content

Skip approve-full-tests hold for automatic bot PRs#6255

Open
ajpallares wants to merge 31 commits into
mainfrom
pallares/skip-hold-job-on-some-automatic-prs-clean
Open

Skip approve-full-tests hold for automatic bot PRs#6255
ajpallares wants to merge 31 commits into
mainfrom
pallares/skip-hold-job-on-some-automatic-prs-clean

Conversation

@ajpallares
Copy link
Copy Markdown
Member

@ajpallares ajpallares commented Feb 13, 2026

Motivation

The run-all-tests workflow requires manual approval (approve-full-tests) before running the full test suite. This blocks automatic PRs from dependabot, RCGitBot version bumps, and generated snapshot branches, requiring unnecessary human intervention for routine changes.

Description

Adds a run-all-tests-auto workflow that mirrors run-all-tests but without the approve-full-tests manual approval gate. It triggers exclusively on branches matching:

  • dependabot/** — dependency bumps (e.g. fastlane plugins, gems)
  • bump/* — RCGitBot "Prepare next version" PRs
  • generated_snapshots/* — RCGitBot test snapshot regeneration PRs

The original run-all-tests workflow is updated to exclude these bot branch patterns so only one of the two workflows runs for any given branch.

Both workflows run the same reduced + full test suites and will eventually require all-tasks-passed before merge.

Made with Cursor


Note

Medium Risk
Changes CircleCI workflow selection and gating logic; misconfigured branch filters or job dependencies could cause duplicate pipelines or skipped/blocked required checks for PRs.

Overview
Adds a new run-all-tests-auto CircleCI workflow that runs the same full test suite without the approve-full-tests manual approval, triggered only for bot PR branches matching dependabot/*, bump/*, or generated_snapshots/*.

Updates the existing run-all-tests workflow to explicitly exclude those bot branch patterns so only one workflow runs per branch, while still requiring the all-tasks-passed summary gate before merge.

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

ajpallares and others added 21 commits February 10, 2026 11:25
Move release-checks, hold, and tag-release-branch into the ci workflow (formerly all-tests) so the release hold requires both release-checks and all-tests-passed. Remove standalone create-tag workflow.
The "ci" workflow already includes everything
…-comments` is triggered"

This reverts commit f6a32b2.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add a `run-all-tests-auto` workflow that runs the full test suite
without the manual approval gate for dependabot, RCGitBot version
bumps (bump/*), and generated snapshot branches.

Co-authored-by: Cursor <cursoragent@cursor.com>
@ajpallares ajpallares requested a review from a team as a code owner February 13, 2026 10:20
ajpallares and others added 5 commits February 16, 2026 12:34
- Replace `build-tv-watch-and-macos` + `build-visionos` with consolidated
  `build-tv-watch-mac-and-visionos` in both workflows
- Replace individual installation test jobs with consolidated
  `installation-tests-all-but-carthage` in both workflows

Co-authored-by: Cursor <cursoragent@cursor.com>
Comment thread .circleci/config.yml
Base automatically changed from pallares/change-ci-structure-for-PRs to main February 23, 2026 09:59
ajpallares and others added 2 commits February 25, 2026 12:14
…b-on-some-automatic-prs-clean

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

# Conflicts:
#	.circleci/config.yml
…orkflow

Co-authored-by: Cursor <cursoragent@cursor.com>
Comment thread .circleci/config.yml
- spm-receipt-parser
- deploy-purchase-tester
- run-all-maestro-e2e-tests
- docs-build
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Duplicated workflow risks future test suite divergence

Low Severity

The run-all-tests-auto workflow is a near-complete copy (~175 lines) of the run-all-tests job list, differing only in the absence of the approve-full-tests gate. If a new test job is added to or removed from run-all-tests, it's easy to forget updating run-all-tests-auto (and its all-tasks-passed requires list), causing the bot-PR test suite to silently diverge. The codebase already uses YAML anchors for shared filter definitions; a similar approach for shared job lists could reduce this risk.

Additional Locations (1)

Fix in Cursor Fix in Web

Comment thread .circleci/config.yml
- e2e-tests
- slack-secrets
- docs-build:
context:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Workflow references many nonexistent job definitions

High Severity

The run-all-tests-auto workflow references at least 12 jobs that don't exist in the jobs: section. The existing config uses combined jobs like run-test-ios-18-and-17, run-test-ios-15-and-14, run-test-tvos-and-macos, and run-revenuecat-ui-ios-18-and-17, but the new workflow splits these into individual names (run-test-ios-18, run-test-ios-17, run-test-ios-15, run-test-ios-14, run-test-macos, run-test-tvos, run-revenuecat-ui-ios-18, run-revenuecat-ui-ios-17) that are never defined. Similarly, spm-release-build, spm-release-build-xcode-14, spm-release-build-xcode-15, and validate-package-swift don't exist as job definitions. This will cause CircleCI config validation failures, breaking CI for bot branches — or potentially all branches.

Additional Locations (2)

Fix in Cursor Fix in Web

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 2 potential issues.

There are 4 total unresolved issues (including 2 from previous reviews).

Fix All in Cursor

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Comment thread .circleci/config.yml
- pod-lib-lint
- run-revenuecat-ui-ios-26
- emerge_purchases_ui_snapshot_tests
- emerge_binary_size_analysis
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Missing context for reduced test suite jobs

Medium Severity

In run-all-tests-auto, the reduced test suite jobs run-test-ios-26, pod-lib-lint, run-revenuecat-ui-ios-26, emerge_purchases_ui_snapshot_tests, and emerge_binary_size_analysis are all missing their context: slack-secrets that the equivalent entries in run-all-tests have. Without this context, these jobs won't have access to the Slack webhook secrets and any other environment variables provided by that context, causing notification failures or potentially job failures.

Fix in Cursor Fix in Web

Comment thread .circleci/config.yml
- docs-build:
context:
- slack-secrets

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Missing revenuecat-admob-tests job in auto workflow

Low Severity

The run-all-tests workflow includes revenuecat-admob-tests in both its full test suite and all-tasks-passed requirements, but run-all-tests-auto omits it entirely. Since the PR intent is to mirror the same test suite, this job will be silently skipped for bot PRs, reducing test coverage.

Fix in Cursor Fix in Web

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