-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
ci(examples): make every examples test a workspace #5011
ci(examples): make every examples test a workspace #5011
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 11 Ignored Deployments
|
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
We don't even really need the |
This comment was marked as off-topic.
This comment was marked as off-topic.
|
b29ebe7
to
e5ccb74
Compare
This comment was marked as off-topic.
This comment was marked as off-topic.
e5ccb74
to
da4c3ec
Compare
This comment was marked as off-topic.
This comment was marked as off-topic.
@tknickman yeah I'm ok to add/remove as well. Let's figure that out outside this PR |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This setup will allow turbo to parallelize and cache execution of these tests. It also reduces the number of Github Workflow runs that are triggered when an example changes, greatly reducing the amount of computing power required to run the tests. This commit does not change the fact that all examples tests are run when any of the examples change. We may be able to wire up dependencies more carefully in the future, but this is not feasible at the moment because each example itself is not a workspace.
8aed70b
to
806ec8e
Compare
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
Linux Benchmark for 4daeaaaClick to view benchmark
|
Summary
Parallelize examples tests with turbo instead of Github Actions.
(This is an alternative approach to parallelizing with pytest+prysk in #4190)
Why
changes. This should be faster and easier to read in a PR (2 checks instead of 16).
Caveats
All examples tests are still run when any of the examples change, because each
example itself is not a workspace, so we cannot wire up individual dependencies.
It might make sense to put this test inside each
examples/
, but since peopledownload these examples (via
npx create-turbo
), we'd need to be careful aboutnot including the tests into the example.
Reviewer notes
turbo.json
configuresinputs
for caching, but we still using the Github Actionsconfig to to limit these runs to changes in
examples/
andexamples-tests/**
.We could opt out of this and rely on turbo's caching, but I'm deferring that for now.
Some tests don't really make sense to me (e.g.
npm
with thewith-yarn
example)but I'm not planning to change/delete those in this PR, unless I've translated the
matrix wrong.
The
pnpm-gatsby
test was not part of the matrix before. Moving to this setup revealedthat it does not pass in CI (because of mismatched node version). I'm keeping the test,
but filtering it out in CI, and will take a separate pass at making it pass. It already has another
issue where it doesn't get "FULL TURBO".
Recent work in this area: