+33
-26
@@ -18,16 +18,6 @@ jobs:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Check lint toolchain
|
||||
shell: bash
|
||||
run: |
|
||||
for tool in prettier ruff yamllint hadolint; do
|
||||
command -v "$tool" >/dev/null || {
|
||||
echo "Missing required tool: $tool" >&2
|
||||
exit 1
|
||||
}
|
||||
done
|
||||
|
||||
- name: Check formatting with Prettier
|
||||
shell: bash
|
||||
run: |
|
||||
@@ -42,15 +32,29 @@ jobs:
|
||||
exit 0
|
||||
fi
|
||||
|
||||
prettier --check --ignore-unknown "${prettier_files[@]}"
|
||||
docker run --rm \
|
||||
-v "$PWD:/work" \
|
||||
-w /work \
|
||||
node:22-alpine \
|
||||
sh -lc 'npx --yes prettier@3 --check --ignore-unknown "$@"' sh "${prettier_files[@]}"
|
||||
|
||||
- name: Lint Python with Ruff
|
||||
shell: bash
|
||||
run: ruff check .
|
||||
run: |
|
||||
docker run --rm \
|
||||
-v "$PWD:/work" \
|
||||
-w /work \
|
||||
ghcr.io/astral-sh/ruff:latest \
|
||||
check .
|
||||
|
||||
- name: Lint YAML syntax
|
||||
shell: bash
|
||||
run: yamllint -c .yamllint .
|
||||
run: |
|
||||
docker run --rm \
|
||||
-v "$PWD:/work" \
|
||||
-w /work \
|
||||
cytopia/yamllint:latest \
|
||||
-c .yamllint .
|
||||
|
||||
- name: Lint Dockerfiles
|
||||
shell: bash
|
||||
@@ -64,7 +68,12 @@ jobs:
|
||||
exit 0
|
||||
fi
|
||||
|
||||
hadolint -c .hadolint.yaml "${dockerfiles[@]}"
|
||||
docker run --rm \
|
||||
-v "$PWD:/work" \
|
||||
-w /work \
|
||||
--entrypoint hadolint \
|
||||
hadolint/hadolint:latest-debian \
|
||||
-c .hadolint.yaml "${dockerfiles[@]}"
|
||||
|
||||
validate:
|
||||
runs-on: [self-hosted, linux, arch, homelab]
|
||||
@@ -72,19 +81,14 @@ jobs:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Check validation toolchain
|
||||
shell: bash
|
||||
run: |
|
||||
for tool in yamllint kubeconform; do
|
||||
command -v "$tool" >/dev/null || {
|
||||
echo "Missing required tool: $tool" >&2
|
||||
exit 1
|
||||
}
|
||||
done
|
||||
|
||||
- name: Lint YAML syntax
|
||||
shell: bash
|
||||
run: yamllint -c .yamllint .
|
||||
run: |
|
||||
docker run --rm \
|
||||
-v "$PWD:/work" \
|
||||
-w /work \
|
||||
cytopia/yamllint:latest \
|
||||
-c .yamllint .
|
||||
|
||||
- name: Validate Kubernetes manifests
|
||||
shell: bash
|
||||
@@ -99,7 +103,10 @@ jobs:
|
||||
exit 0
|
||||
fi
|
||||
|
||||
kubeconform \
|
||||
docker run --rm \
|
||||
-v "$PWD:/work" \
|
||||
-w /work \
|
||||
ghcr.io/yannh/kubeconform:latest \
|
||||
-strict \
|
||||
-ignore-missing-schemas \
|
||||
-summary \
|
||||
|
||||
+33
-26
@@ -18,16 +18,6 @@ jobs:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Check lint toolchain
|
||||
shell: bash
|
||||
run: |
|
||||
for tool in prettier ruff yamllint hadolint; do
|
||||
command -v "$tool" >/dev/null || {
|
||||
echo "Missing required tool: $tool" >&2
|
||||
exit 1
|
||||
}
|
||||
done
|
||||
|
||||
- name: Check formatting with Prettier
|
||||
shell: bash
|
||||
run: |
|
||||
@@ -42,15 +32,29 @@ jobs:
|
||||
exit 0
|
||||
fi
|
||||
|
||||
prettier --check --ignore-unknown "${prettier_files[@]}"
|
||||
docker run --rm \
|
||||
-v "$PWD:/work" \
|
||||
-w /work \
|
||||
node:22-alpine \
|
||||
sh -lc 'npx --yes prettier@3 --check --ignore-unknown "$@"' sh "${prettier_files[@]}"
|
||||
|
||||
- name: Lint Python with Ruff
|
||||
shell: bash
|
||||
run: ruff check .
|
||||
run: |
|
||||
docker run --rm \
|
||||
-v "$PWD:/work" \
|
||||
-w /work \
|
||||
ghcr.io/astral-sh/ruff:latest \
|
||||
check .
|
||||
|
||||
- name: Lint YAML syntax
|
||||
shell: bash
|
||||
run: yamllint -c .yamllint .
|
||||
run: |
|
||||
docker run --rm \
|
||||
-v "$PWD:/work" \
|
||||
-w /work \
|
||||
cytopia/yamllint:latest \
|
||||
-c .yamllint .
|
||||
|
||||
- name: Lint Dockerfiles
|
||||
shell: bash
|
||||
@@ -64,7 +68,12 @@ jobs:
|
||||
exit 0
|
||||
fi
|
||||
|
||||
hadolint -c .hadolint.yaml "${dockerfiles[@]}"
|
||||
docker run --rm \
|
||||
-v "$PWD:/work" \
|
||||
-w /work \
|
||||
--entrypoint hadolint \
|
||||
hadolint/hadolint:latest-debian \
|
||||
-c .hadolint.yaml "${dockerfiles[@]}"
|
||||
|
||||
validate:
|
||||
runs-on: [self-hosted, linux, arch, homelab]
|
||||
@@ -72,19 +81,14 @@ jobs:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Check validation toolchain
|
||||
shell: bash
|
||||
run: |
|
||||
for tool in yamllint kubeconform; do
|
||||
command -v "$tool" >/dev/null || {
|
||||
echo "Missing required tool: $tool" >&2
|
||||
exit 1
|
||||
}
|
||||
done
|
||||
|
||||
- name: Lint YAML syntax
|
||||
shell: bash
|
||||
run: yamllint -c .yamllint .
|
||||
run: |
|
||||
docker run --rm \
|
||||
-v "$PWD:/work" \
|
||||
-w /work \
|
||||
cytopia/yamllint:latest \
|
||||
-c .yamllint .
|
||||
|
||||
- name: Validate Kubernetes manifests
|
||||
shell: bash
|
||||
@@ -99,7 +103,10 @@ jobs:
|
||||
exit 0
|
||||
fi
|
||||
|
||||
kubeconform \
|
||||
docker run --rm \
|
||||
-v "$PWD:/work" \
|
||||
-w /work \
|
||||
ghcr.io/yannh/kubeconform:latest \
|
||||
-strict \
|
||||
-ignore-missing-schemas \
|
||||
-summary \
|
||||
|
||||
Reference in New Issue
Block a user