Skip to content

fix: populate hadolint_output #63

fix: populate hadolint_output

fix: populate hadolint_output #63

Workflow file for this run

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