-
Notifications
You must be signed in to change notification settings - Fork 995
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
Add shellcheck CI #7888
Add shellcheck CI #7888
Conversation
I do really like shellcheck but given it didn't find any actual problems here I'm not sure if it's worth adding to CI? If we do add it, it'd probably make sense at Line 47 in 14507a1
|
@zanieb this is exactly right time to add a tool, when there are no complaints! 😄 I added this a separate file, because I can specify to only run this on |
How long does it take to run on the full repository? Seconds right? I'm not sure it's worth the time saving — spinning up GitHub Actions runners has significant overhead. |
Locally it takes |
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 would probably be nice to pin a specific shellcheck
version to use, per https://github.com/ludeeus/action-shellcheck?tab=readme-ov-file#run-a-specific-version-of-shellcheck. Otherwise if new versions that update or add rules are published, CI could break out of the blue.
By enabling https://docs.renovatebot.com/presets-customManagers/#custommanagersgithubactionsversions preset here and setting something like:
env:
# renovate: datasource=github-tags depName=koalaman/shellcheck
SHELLCHECK_VERSION: "v0.10.0"
in the GitHub Actions workflow, it should even be possible to have Renovate regularly update shellcheck
version.
Awesome! I didn't know that! |
Summary
I started learning
uv
by inspecting the source code.I've noticed that your shell scripts are very good! Which is rare!
Test Plan
I propose to add
shellcheck
to the CI.It is a great tool to help finding bugs and style issues in shell code.
Techincal details:
.sh
files are changed (or the job definition file)# shellcheck disable=SC1091
But, I understand that build / lint tools are very subjective. So, feel free to close :)