Skip to content
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

Closed
wants to merge 5 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .github/workflows/hadolint-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: Hadolint Dockerfile Lint
on: [push]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: hadolint/hadolint-action@f988afea3da57ee48710a9795b6bb677cc901183 # v2.1.0
with:
dockerfile: "cookiecutter-django-ida/\{\{cookiecutter.repo_name\}\}/Dockerfile"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doesn't work, I also tried {{, but that didn't work either:
image

Copy link
Contributor

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.

Copy link
Contributor

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.

Loading