-
Notifications
You must be signed in to change notification settings - Fork 23
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
chore: Add Hadolint Dockerfile Linter POC #267
Conversation
- uses: actions/checkout@v2 | ||
- uses: hadolint/[email protected] | ||
with: | ||
dockerfile: "cookiecutter-django-ida/\{\{cookiecutter.repo_name\}\}/Dockerfile" |
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.
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 if you get that to work, the Dockerfile in question itself requires interpolation and has {{
all over the place that will probably confuse a linter. Perhaps we can instead add the hadolint action to the cookiecutters that have a Dockerfile (xblock and ida) and also run hadolint from the cookiecutter repo's unit tests.
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.
I suspect the YAML parser is complaining about the \{
since {
does not require escaping. You say that there's a problem if you just use {{
-- what complains? I'd expect GitHub to only complain if there's a ${{
sequence, but if it doesn't even like {{
then you might have to do something gross like this:
dockerfile: "cookiecutter-django-ida/${{ '{{' }}cookiecutter.repo_name${{ '}}' }}/Dockerfile"
However, I think you'll then just run into hadolint errors.
Co-authored-by: Tim McCormack <[email protected]>
This PR is an attempt at testing out a fairly nascent linter and is being added due to a Slack converstion with SRE.
See openedx-unsupported/edx-analytics-dashboard#1366 for competing linter
Currently we review dockerfiles by pasting them into https://www.fromlatest.io/#/ and reading https://2u-internal.atlassian.net/wiki/spaces/SRE/pages/19265642/Dockerfile+Best+Practices at 2U.
Docs:
https://github.com/marketplace/actions/hadolint-action
Next steps: