fix: populate hadolint_output #63
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test-E2E | |
on: | |
pull_request: | |
paths: | |
- "**.sh" | |
- "test/**" | |
- "action.yml" | |
- ".github/workflows/test-e2e.yml" | |
jobs: | |
gh-action-default: | |
name: Action validates Dockerfiles | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./ | |
with: | |
dockerfile: test/fixtures/Dockerfile-valid | |
gh-action-version: | |
name: Action supports custom version | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./ | |
id: check | |
with: | |
dockerfile: test/fixtures/Dockerfile-valid | |
version: 2.10.0 | |
- name: Compare versions | |
env: | |
HADOLINT_VERSION: ${{ steps.check.outputs.hadolint_version }} | |
REQUESTED_VERSION: 2.10.0 | |
run: | | |
if [[ "${HADOLINT_VERSION}" != "${REQUESTED_VERSION}" ]]; then | |
echo "::error::Version mismatch: \"${HADOLINT_VERSION}\" does not equal \"${REQUESTED_VERSION}\"" | |
exit 1 | |
fi | |
gh-action-glob: | |
name: Action supports glob expansion | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./ | |
with: | |
dockerfile: "test/**/Dockerfile-glob-*" | |
annotate: false | |
# https://github.com/jbergstroem/hadolint-gh-action/issues/134 | |
gh-action-multiple-invocations: | |
name: Action supports multiple invocations in a job | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
# Download and run default version | |
- uses: ./ | |
with: | |
dockerfile: test/fixtures/Dockerfile-valid | |
annotate: false | |
# Download and run custom version | |
- uses: ./ | |
with: | |
dockerfile: test/fixtures/Dockerfile-valid | |
version: 2.11.0 | |
annotate: false | |
# Redownload if binary is broken, in this case a non-executable | |
- run: chmod -x /usr/local/bin/hadolint | |
- uses: ./ | |
with: | |
dockerfile: test/fixtures/Dockerfile-valid | |
version: 2.11.0 | |
annotate: false | |
# Download and run default version again | |
- uses: ./ | |
with: | |
dockerfile: test/fixtures/Dockerfile-valid | |
annotate: false | |
# https://github.com/jbergstroem/hadolint-gh-action/issues/142 | |
gh-action-version-variations: | |
name: Action supports version variations | |
runs-on: ubuntu-22.04 | |
strategy: | |
matrix: | |
version: ["1.23.0", "2.9.0", "2.12.0"] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./ | |
id: check | |
with: | |
dockerfile: test/fixtures/Dockerfile-valid | |
annotate: false | |
version: ${{ matrix.version }} | |
- name: Compare versions | |
env: | |
HADOLINT_VERSION: ${{ steps.check.outputs.hadolint_version }} | |
REQUESTED_VERSION: ${{ matrix.version }} | |
run: | | |
if [[ "${HADOLINT_VERSION}" != "${REQUESTED_VERSION}" ]]; then | |
echo "::error::Version mismatch: \"${HADOLINT_VERSION}\" does not equal \"${REQUESTED_VERSION}\"" | |
exit 1 | |
fi | |
gh-action-output: | |
name: Action populates output if configured | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./ | |
id: action-output | |
with: | |
dockerfile: "test/fixtures/Dockerfile-valid" | |
annotate: false | |
output_format: json | |
- name: Compare output | |
env: | |
OUTPUT: ${{ steps.action-output.outputs.hadolint_output }} | |
ASSERT: '[{"code":"DL3018","column":1,"file":"test/fixtures/Dockerfile-warning","level":"warning","line":3,"message":"Pin versions in apk add. Instead of `apk add <package>` use `apk add <package>=<version>`"}]' | |
run: | | |
if [[ "${OUTPUT}" != "${ASSERT}" ]]; then | |
echo "::error::Output mismatch: \"${OUTPUT}\" does not equal \"${ASSERT}\"" | |
exit 1 | |
fi |