-
Notifications
You must be signed in to change notification settings - Fork 1.6k
CI: Use a native version of Shellcheck instead of WASI #17108
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
Conversation
|
|
Nice, that's quite an impressive speedup... I knew that the actionlint step was slow (it's why it's only run if you pass Did you verify that the shellcheck integration is still working as expected? I.e., does it still catch shell-scripting errors embedded in GitHub Actions A thing I don't really like about this approach is that it means you won't be able to run the pre-commit hook manually locally unless you have shellcheck preinstalled. (Or, well, you will be able to run the hook, but it won't actually check the same things as it checks in CI unless you have shellcheck preinstalled.) That seems confusing enough that we'd probably have to document it in our You mentioned in #17092 (comment) that a big reason this might be so slow in CI is because the GitHub Actions runners are starved of cores -- we could see if switching to the larger depot runners helps. We use them in some other jobs already, e.g. ruff/.github/workflows/ci.yaml Lines 201 to 203 in d0c8eaa
|
Yes – an earlier version of this had
I was thinking the same – but then again, this check is disabled by default anyway, so I doubt too many contributors would know to run
That was, tbh, before I noticed it's running WASM in a Go-based interpreter. 😄 |
Nice, thank you ❤️
hmm, true. It's still nice for me, personally, to be able to run exactly the same thing locally as is run in CI, though ;-) I'd like to experiment with switching to the depot runners and see how much that buys us |
Sure, but I wouldn't be holding my breath for great gains there. I can whip up a sibling PR anyway, just a sec. |
0f37a78 to
e775d62
Compare
## Summary Sibling/alternate of #17108 (see #17108 (comment)). See if running the pre-commit CI step on Depot machines makes WASM-compiled shellcheck faster. ## Test Plan > How was it tested? We're doing it live!
|
Thanks for your work on this!! #17120 got this down to 30s, which I think is "fast enough" now :-D |
Summary
Refs #17092 (comment), this switches the CI pipeline to use a native version of Shellcheck pulled from GitHub Releases instead of the WASI compilation.
cc @AlexWaygood
Test Plan
I tried this out in my fork of
ruff(where it made a cold-cachepre-commitCI step faster than a hot-cache run), and we're probably about to find out how it works here in upstream land.