Install ShellCheck & Hadolint in CI and add installer with apt fallback #31
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
shellcheckandhadolintare available in CI so linting is reproducible and run before builds.Description
test/install-tools.sh, which queries GitHub for the latestshellcheckandhadolintreleases, installs the appropriate binaries, and falls back toaptif downloads fail..github/workflows/ci.ymlto run./test/install-tools.shbeforeshellcheckandhadolint, and then keep thedocker buildsteps for image verification.test/validate-scripts.shto include the installer in the list of scripts to syntax-validate, and updateAGENTS.mdwith the new changes.Testing
./test/validate-scripts.shwhich completed successfully and validatedrun.sh,start_squid.sh,test/install-tools.sh,test/detect-proxy.sh, andtest/test-proxy.sh../test/install-tools.shin this environment and it failed with HTTP 403 errors when fetching GitHub releases and when updatingapt, so the linters could not be installed here.shellcheckandhadolintlocally (e.g.shellcheck run.sh ...andhadolint Dockerfile ...) and both failed because the commands were not present due to the installer/network failure../test/install-tools.sh, thenshellcheck,hadolint, anddocker buildonubuntu-latest, so the full lint+build steps will execute in GitHub Actions where network access and Docker are available.Codex Task