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, removes the separate contributor workflow, and infers contributor PR status from branch name during env checks.

  • CI (CircleCI Workflows)
    • Contributor Flow Consolidation: Removes linux-x64-contributor workflow from workflows/@main.yml and folds contributor handling into workflows/pull-request.yml.
      • Adds internal-pr-build and external-pr-build jobs with branch filters.
      • Introduces approve-contributor-pr approval gate required by expensive/restricted jobs.
      • Updates downstream job requirements to depend on the appropriate build (internal/external) and approval.
      • Moves finalization steps (percy-finalize, verify-accessibility-results) to a dedicated finalization section.
  • Pipeline
    • Contributor Detection: Replaces build job parameter is_contributor_pr by deriving it from << pipeline.git.branch >> and passing to circle-env.js.

Written by Cursor Bugbot for commit 239b603. 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 #66147

Run Properties:  status check passed Passed #66147  •  git commit 239b603134: does not use context for contrib prs
Project cypress
Branch Review ci/extract-contributor-workflow
Run status status check passed Passed #66147
Run duration 19m 40s
Commit git commit 239b603134: does not use context for contrib prs
Committer Cacie Prins
View all properties for this run ↗︎

Test results
Tests that failed  Failures 0
Tests that were flaky  Flaky 14
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 0
Tests that passed  Passing 26665
View all changes introduced in this branch ↗︎
UI Coverage  45.11%
  Untested elements 186  
  Tested elements 157  
Accessibility  97.76%
  Failed rules  4 critical   8 serious   2 moderate   2 minor
  Failed elements 110  

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.

2 participants