From 46fff76b9fb3fdfe07099e55aa79453227d1cdcd Mon Sep 17 00:00:00 2001
From: Zoey <zoey@z0ey.de>
Date: Thu, 18 Apr 2024 22:49:49 +0200
Subject: [PATCH] Create dockerlint.yml

Signed-off-by: Zoey <zoey@z0ey.de>
---
 .github/workflows/dockerlint.yml | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)
 create mode 100644 .github/workflows/dockerlint.yml

diff --git a/.github/workflows/dockerlint.yml b/.github/workflows/dockerlint.yml
new file mode 100644
index 0000000..38f5a4d
--- /dev/null
+++ b/.github/workflows/dockerlint.yml
@@ -0,0 +1,27 @@
+name: Dockerlint
+on:
+  push:
+  pull_request:
+  workflow_dispatch:
+jobs:
+  docker-lint:
+    runs-on: ubuntu-latest
+    name: docker-lint
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v4
+      - name: Install hadolint
+        run: |
+          sudo wget https://github.com/hadolint/hadolint/releases/latest/download/hadolint-Linux-x86_64 -O /usr/bin/hadolint
+          sudo chmod +x /usr/bin/hadolint
+      - name: run lint
+        run: |
+          DOCKERFILES="$(find . -name "*Dockerfile*")"
+          for file in $(echo "$DOCKERFILES" | tr " " "\n"); do
+            # DL3018 warning: Pin versions in apk add. Instead of `apk add <package>` use `apk add <package>=<version>`
+            # DL3013 warning: Pin versions in pip. Instead of `pip install <package>` use `pip install <package>==<version>` or `pip install --requirement <requirements file>`
+            hadolint "$file" --ignore DL3013 --ignore DL3018 | tee -a hadolint.log
+          done
+          if grep -q "DL[0-9]\+\|SC[0-9]\+" hadolint.log; then
+            exit 1
+          fi