-
Notifications
You must be signed in to change notification settings - Fork 615
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
C3: Better e2e quarantine dx #4096
Conversation
|
A wrangler prerelease is available for testing. You can install this latest build in your project with: npm install --save-dev https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/6460178561/npm-package-wrangler-4096 You can reference the automatically updated head of this PR with: npm install --save-dev https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/prs/6460178561/npm-package-wrangler-4096 Or you can use npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/6460178561/npm-package-wrangler-4096 dev path/to/script.js Additional artifacts:npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/6460178561/npm-package-cloudflare-pages-shared-4096 Note that these links will no longer work once the GitHub Actions artifact expires.
| Please ensure constraints are pinned, and |
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.
Tentative approval, I both like and dislike the idea of always passing the tests, at the very least I think it might be worth a try, but hopefully we can keep an eye on the quarantined tests and try to remove them from the quarantine when possible
testCommitMessage: true, | ||
}, | ||
gatsby: { | ||
quarantine: true, |
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.
does gatsby need to be quarantined? I thought you made it better 🤔
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.
It's better but not better enough quite yet. It's failing somewhat consistently with bun
atm and I need to debug why. Don't worry, clearing out the quarantine is next on my list of things to do.
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.
Took it out of quarantine in another PR: https://github.com/cloudflare/workers-sdk/pull/4120/files
6c30bfa
to
7160668
Compare
If we are going to move the e2e quarantined tests to |
This pr contains the changes to run quarantine the tests on main only. Apart from that, I still think there's value in splitting up the workflow into multiple files and creating a common step for running the e2e since it eliminates redundancy b/w the standard and quarantine runs. It also makes it easier for PR authors to navigate all of the tests run on their PR. If there's particular things that you don't want included can I maybe remove those and keep the bulk of the refactor?
Yup, that sounds like it could work. If we really want to retain retries that might be the way to go. I still think that there's not a ton of value in running retries on quarantined framework, since there's a high likelihood that they'll fail. |
Ah! OK. I was confused by this in the PR description:
I don't think we need to make quarantined tests look green if they're not, when they are no longer running on PRs. |
Fair enough. I just pushed a commit that lets them fail again, with retries. |
Codecov Report
@@ Coverage Diff @@
## main #4096 +/- ##
==========================================
+ Coverage 75.09% 75.39% +0.29%
==========================================
Files 217 223 +6
Lines 12077 12203 +126
Branches 3128 3154 +26
==========================================
+ Hits 9069 9200 +131
+ Misses 3008 3003 -5 |
What this PR solves / how to test:
This PR seeks to improve the dev experience around quarantined e2e tests. Quarantine tests fail sometimes, by design, and this can be confusing if you aren't engaged in c3 development day to day. Ideally, we'd have a system where tests could fail, but we would still get the green check mark that lets us know things are good to merge.
Unfortunately Github Actions doesn't support a
allow-failure
option for jobs. It's a feature that's been heavily requested (see here and here), though it doesn't appear that Github plans to implement this feature.This change makes it so that quarantine runs are only performed on merge to master, so PR authors won't see confusing failed builds.
I've also refactored the
runCliWithDeploy
logic to reduce duplication between quarantined/not-quarantined runs.Associated docs issue(s)/PR(s):
Author has included the following, where applicable:
Reviewer is to perform the following, as applicable:
Note for PR author:
We want to celebrate and highlight awesome PR review! If you think this PR received a particularly high-caliber review, please assign it the label
highlight pr review
so future reviewers can take inspiration and learn from it.