-
Notifications
You must be signed in to change notification settings - Fork 167
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
Fix lint CI and split it into multiple jobs #2785
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Should we just not use |
We could! That'll be a lot of jobs though 😅 And the only time consuming one here is the |
3ffafd9
to
1f6268a
Compare
Looking at the documentation more, I think that if the last job without |
c68473d
to
3e17207
Compare
2010c9e
to
f9fa551
Compare
f9fa551
to
d4706f4
Compare
.github/workflows/rust.yml
Outdated
@@ -160,10 +160,9 @@ jobs: | |||
cd linera-views | |||
WASM_BINDGEN_TEST_TIMEOUT=300 wasm-pack test --chrome --headless -- --features web-default | |||
|
|||
lint: | |||
unexpected-chain-load-operations: |
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.
Should we keep lint
somewhere in the name? Maybe lint-unexpected-chain-load-operations
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.
(even better) Should we group the fast lints together to save git-checkout time?
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.
Never mind "checkout" is surprisingly fast.
"Clear some space" is slow, though. In fact, we probably shouldn't do it for linters.
.github/workflows/rust.yml
Outdated
@@ -176,6 +175,19 @@ jobs: | |||
- name: Check for unexpected chain load operations | |||
run: | | |||
./scripts/check_chain_loads.sh | |||
|
|||
check-copyright-headers: |
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.
nit: Maybe lint-check-copyright-headers
. In fact lint-cargo-clippy
is probably logical after that
.github/workflows/rust.yml
Outdated
@@ -227,12 +296,54 @@ jobs: | |||
cargo rdme --check --no-fail-on-warnings -w "${dir_name}" | |||
fi | |||
done) | |||
|
|||
wasm-application-lints: |
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.
lint-wasm-application
?
d4706f4
to
83d1692
Compare
83d1692
to
792bc4c
Compare
792bc4c
to
a5479f7
Compare
## Motivation CI takes a long time ## Proposal Split into more jobs, which will make us do roughly the same amount of work, but more parallelized. So hopefully this reduces CI time without increasing github costs much. ## Test Plan CI With this and the PR before this one (#2785), we went from having the `test` job sometimes take up to an hour, to now, running many jobs in parallel, the test that takes the longest is `check-all-features`, which takes around 30 minutes. ## Release Plan - Nothing to do / These changes follow the usual release cycle.
On #1737 we added `continue-on-error` on the job level. AFAIU that will succeed even if the entire jobs fails with a cancellation for example, which will happen when we timeout. This was causing this job to silently succeed while timing out for a while. Split the different lints into their own jobs, adding parallelism and also giving us individual failures CI - Nothing to do / These changes follow the usual release cycle.
## Motivation CI takes a long time ## Proposal Split into more jobs, which will make us do roughly the same amount of work, but more parallelized. So hopefully this reduces CI time without increasing github costs much. ## Test Plan CI With this and the PR before this one (#2785), we went from having the `test` job sometimes take up to an hour, to now, running many jobs in parallel, the test that takes the longest is `check-all-features`, which takes around 30 minutes. ## Release Plan - Nothing to do / These changes follow the usual release cycle.
Motivation
On #1737 we added
continue-on-error
on the job level. AFAIU that will succeed even if the entire jobs fails with a cancellation for example, which will happen when we timeout.This was causing this job to silently succeed while timing out for a while.
Proposal
Split the different lints into their own jobs, adding parallelism and also giving us individual failures
Test Plan
CI
Release Plan