Skip to content

Conversation

cacieprins
Copy link
Contributor

@cacieprins cacieprins commented Sep 15, 2025

  • Closes

Additional details

Previously, we had an entirely separate workflow defined for contributor pull requests. This was implemented in order to require maintainer approval for running expensive CI jobs on contributor pull requests.

This consolidates the contributor PR into the primary pull-request workflow, while keeping the same behavior.

The node_modules_install, build, check-ts, lint, and lint-types jobs will still run for external contributors. Any subsequent jobs require that the approve-contributor-pr job be approved by a maintainer. Because the approve-contributor-pr job is conditional based on the branch pattern, declaring it as required for subsequent jobs will only be enforced if that job runs - internal contributor/maintainer PRs will not run that job, so it will be skipped as required.

Steps to test

Fork this branch to another account, and open a pull request. Verify that it prevents expensive jobs from running prior to approval.

How has the user experience changed?

PR Tasks


Note

Consolidates contributor PR handling into the main pull-request workflow with an approval gate and dynamic PR detection, and removes the separate contributor workflow.

  • CI (CircleCI):
    • Pull Request Workflow:
      • Consolidates contributor PRs into workflows/pull-request.yml.
      • Splits builds into internal-pr-build and external-pr-build with branch filters; adds approve-contributor-pr approval for external PRs before running gated jobs.
      • Updates job requirements to depend on internal/external builds and approval; moves finalization steps (percy-finalize, verify-accessibility-results) to a dedicated section.
    • Main Workflow:
      • Removes the separate linux-x64-contributor workflow and its jobs.
      • Keeps core linux-x64 workflow intact; dependency lists adjusted accordingly.
    • Pipeline commands:
      • Replaces build job param is_contributor_pr with dynamic detection based on << pipeline.git.branch >> and passes it to circle-env.js.

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

cacieprins and others added 28 commits September 9, 2025 13:54
…cleci config pack to compose them into the main workflows.yml file
@cacieprins cacieprins changed the title ci: extract/consolidate contributor pr workflow chore: extract/consolidate contributor pr workflow Sep 15, 2025
Copy link

cypress bot commented Sep 15, 2025

cypress    Run #66301

Run Properties:  status check failed Failed #66301  •  git commit 5eccac1c57: Merge branch 'develop' into ci/extract-contributor-workflow
Project cypress
Branch Review ci/extract-contributor-workflow
Run status status check failed Failed #66301
Run duration 20m 33s
Commit git commit 5eccac1c57: Merge branch 'develop' into ci/extract-contributor-workflow
Committer Cacie Prins
View all properties for this run ↗︎

Test results
Tests that failed  Failures 1
Tests that were flaky  Flaky 12
Tests that did not run due to a developer annotating a test with .skip  Pending 1102
Tests that did not run due to a failure in a mocha hook  Skipped 4
Tests that passed  Passing 26707
View all changes introduced in this branch ↗︎

Warning

Partial Report: The results for the Application Quality reports may be incomplete.

UI Coverage  45.27%
  Untested elements 186  
  Tested elements 158  
Accessibility  97.97%
  Failed rules  4 critical   8 serious   2 moderate   2 minor
  Failed elements 101  

Tests for review

Failed  cypress/e2e/studio/studio.cy.ts • 1 failed test • app-e2e

View Output

Test Artifacts
Cypress Studio > updates an existing test with assertions Test Replay Screenshots
Flakiness  issues/28527.cy.ts • 1 flaky test • 5x-driver-electron

View Output

Test Artifacts
issue 28527 > fails and then retries and verifies about:blank is not displayed Test Replay Screenshots
Flakiness  commands/waiting.cy.js • 1 flaky test • 5x-driver-chrome

View Output

Test Artifacts
... > errors > throws when route is never resolved Test Replay
Flakiness  commands/actions/selectFile.cy.ts • 1 flaky test • 5x-driver-chrome

View Output

Test Artifacts
... > throws with aliased intercepts Test Replay
Flakiness  issues/28527.cy.ts • 1 flaky test • 5x-driver-chrome

View Output

Test Artifacts
issue 28527 > fails and then retries and verifies about:blank is not displayed Test Replay Screenshots
Flakiness  commands/net_stubbing.cy.ts • 1 flaky test • 5x-driver-firefox

View Output

Test Artifacts
... > stops waiting when an xhr request is canceled
    </td>
  </tr></table>

The first 5 flaky specs are shown, see all 12 specs in Cypress Cloud.

Base automatically changed from use-pack-for-circle to develop September 19, 2025 13:23
@cacieprins cacieprins marked this pull request as ready for review September 23, 2025 14:26
@cacieprins cacieprins self-assigned this Sep 23, 2025
cursor[bot]

This comment was marked as outdated.

@AtofStryker
Copy link
Contributor

@cacieprins I created #32574 to test this workflow out and job is running on https://app.circleci.com/pipelines/github/cypress-io/cypress/75143

@cacieprins
Copy link
Contributor Author

cacieprins commented Sep 25, 2025

@cacieprins I created #32574 to test this workflow out and job is running on https://app.circleci.com/pipelines/github/cypress-io/cypress/75143

Correct - this is the same pattern as the old linux-x64-contributor-pr. It will run node_modules_install, build, check-ts, lint and lint-types and wait for approval before running anything else

cursor[bot]

This comment was marked as outdated.

Copy link
Contributor

@AtofStryker AtofStryker left a comment

Choose a reason for hiding this comment

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

@cacieprins I think the jobs lacking the approval button are automatically locked
Screenshot 2025-09-25 at 4 38 26 PM

it looks to still be automatically locked after clicking approve and the workflow automatically fails
Screenshot 2025-09-25 at 4 39 50 PM

@cacieprins cacieprins force-pushed the ci/extract-contributor-workflow branch from 663fdbc to 655fce9 Compare October 2, 2025 17:13
@AtofStryker AtofStryker self-requested a review October 3, 2025 15:19
@AtofStryker
Copy link
Contributor

@cacieprins I'm running a contributor PR running against the branch https://app.circleci.com/pipelines/github/cypress-io/cypress/75579

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants