-
Notifications
You must be signed in to change notification settings - Fork 3.4k
chore: extract/consolidate contributor pr workflow #32494
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
…cleci config pack to compose them into the main workflows.yml file
…ck off pull-request workflow after approval
cypress
|
Project |
cypress
|
Branch Review |
ci/extract-contributor-workflow
|
Run status |
|
Run duration | 20m 35s |
Commit |
|
Committer | Cacie Prins |
View all properties for this run ↗︎ |
Test results | |
---|---|
|
1
|
|
13
|
|
1102
|
|
4
|
|
26730
|
View all changes introduced in this branch ↗︎ |
Warning
Partial Report: The results for the Application Quality reports may be incomplete.
UI Coverage
45.27%
|
|
---|---|
|
186
|
|
158
|
Accessibility
97.97%
|
|
---|---|
|
4 critical
8 serious
2 moderate
2 minor
|
|
101
|
Tests for review
cypress/e2e/studio/studio.cy.ts • 1 failed test • app-e2e
Test | Artifacts | |
---|---|---|
Cypress Studio > updates an existing test with assertions |
Test Replay
Screenshots
|
e2e/origin/config_env.cy.ts • 1 flaky test • 5x-driver-electron
Test | Artifacts | |
---|---|---|
cy.origin- Cypress.config() > serializable > overwrites different values in secondary if one exists in the primary |
Test Replay
|
issues/28527.cy.ts • 1 flaky test • 5x-driver-electron
Test | Artifacts | |
---|---|---|
issue 28527 > fails and then retries and verifies about:blank is not displayed |
Test Replay
Screenshots
|
issues/28527.cy.ts • 1 flaky test • 5x-driver-chrome
Test | Artifacts | |
---|---|---|
issue 28527 > fails and then retries and verifies about:blank is not displayed |
Test Replay
Screenshots
|
commands/waiting.cy.js • 2 flaky tests • 5x-driver-chrome:beta
Test | Artifacts | |
---|---|---|
... > errors > throws when route is never resolved |
Test Replay
|
|
... > errors > throws when waiting for 2nd response to route |
Test Replay
|
commands/location.cy.js • 1 flaky test • 5x-driver-chrome:beta
Test | Artifacts | |
---|---|---|
... > does not log an additional log on failure |
Test Replay
|
The first 5 flaky specs are shown, see all 12 specs in Cypress Cloud.
@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 |
There was a problem hiding this 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
it looks to still be automatically locked after clicking approve and the workflow automatically fails
663fdbc
to
655fce9
Compare
@cacieprins I'm running a contributor PR running against the branch https://app.circleci.com/pipelines/github/cypress-io/cypress/75579 |
- driver-integration-tests-chrome-beta-inject-document-domain | ||
- driver-integration-tests-electron | ||
- driver-integration-tests-webkit | ||
- driver-integration-memory-tests |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Mutually Exclusive Builds Block Workflow
Many workflow jobs now require both internal-pr-build
and external-pr-build
. These two build jobs are mutually exclusive, with internal-pr-build
running for internal PRs and external-pr-build
for external PRs. This setup means one required build will always be skipped, causing dependent jobs to hang indefinitely.
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
, andlint-types
jobs will still run for external contributors. Any subsequent jobs require that theapprove-contributor-pr
job be approved by a maintainer. Because theapprove-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
cypress-documentation
?type definitions
?Note
Consolidates contributor PR CI into the main pull-request workflow with an approval gate, removes the separate contributor workflow, and auto-detects contributor PRs during build.
linux-x64-contributor
workflow intoworkflows/pull-request.yml
using a single workflow.approve-contributor-pr
gate for branches matching^pull/[0-9]+$
.internal-pr-build
(non-pull branches) andexternal-pr-build
(pull branches); all subsequent jobs require the appropriate build(s) and approval for external PRs.percy-finalize
andverify-accessibility-results
to a dedicated final section.workflows/@main.yml
.@pipeline.yml
build
step, replacesparameters.is_contributor_pr
with branch-based detection (<< pipeline.git.branch >>
regex) when invokingscripts/circle-env.js
.Written by Cursor Bugbot for commit 1d87d6a. This will update automatically on new commits. Configure here.