Skip to content

Lint Bash scripts in CI using shellcheck #934

@edmorley

Description

@edmorley

This buildpack doesn't currently have any linting of Bash scripts using shellcheck, unlike some of our other buildpacks. And in particular, this buildpack makes heavy use of advanced Bash features (as seen by the fact that it's the only Bash buildpack so far running into Bash 5.3 compatibility issues), so it seems linting is even more important here.

We should add this to CI - initially with any failing errors/warnings disabled so that we can at least prevent further lint regressions while we clean up the existing usages.

See Python for an example of doing this:

https://github.com/heroku/heroku-buildpack-python/blob/b8216105773cb602c576eef22d6afe8200b507e1/.github/workflows/ci.yml#L18-L35

https://github.com/heroku/heroku-buildpack-python/blob/b8216105773cb602c576eef22d6afe8200b507e1/.shellcheckrc#L1-L2

https://github.com/heroku/heroku-buildpack-python/blob/b8216105773cb602c576eef22d6afe8200b507e1/Makefile#L12-L15

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions