aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/lint-kubernetes.yaml36
-rw-r--r--.github/workflows/main.yaml12
2 files changed, 48 insertions, 0 deletions
diff --git a/.github/workflows/lint-kubernetes.yaml b/.github/workflows/lint-kubernetes.yaml
new file mode 100644
index 0000000..ab1e9a5
--- /dev/null
+++ b/.github/workflows/lint-kubernetes.yaml
@@ -0,0 +1,36 @@
+name: Lint kubernetes manifests
+
+on:
+ workflow_call:
+ secrets:
+ kube-config:
+ required: true
+
+jobs:
+ lint:
+ name: Lint manifests
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v3
+
+ - name: Get list of files
+ run: |
+ echo "manifests<<EOF" >> $GITHUB_OUTPUT
+ python kubernetes/scripts/lint_manifests.py find >> $GITHUB_OUTPUT
+ echo "EOF" >> $GITHUB_OUTPUT
+ id: manifest-files
+
+ - uses: azure/setup-kubectl@v3
+
+ - name: Authenticate with Kubernetes
+ uses: azure/k8s-set-context@v3
+ with:
+ method: kubeconfig
+ kubeconfig: ${{ secrets.kube-config }}
+
+ - uses: jb3/k8s-lint@master
+ with:
+ lintType: dryrun
+ manifests: |
+ ${{ steps.manifest-files.outputs.manifests }}
diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml
index eaadf67..19841ec 100644
--- a/.github/workflows/main.yaml
+++ b/.github/workflows/main.yaml
@@ -15,14 +15,19 @@ jobs:
runs-on: ubuntu-latest
outputs:
ansible: ${{ steps.changes.outputs.ansible }}
+ kubernetes: ${{ steps.changes.outputs.kubernetes }}
steps:
- uses: actions/checkout@v3
+
- uses: dorny/paths-filter@v2
id: changes
with:
filters: |
ansible:
- 'ansible/**'
+ kubernetes:
+ - 'kubernetes/**'
+
lint:
uses: ./.github/workflows/lint.yaml
@@ -32,3 +37,10 @@ jobs:
uses: ./.github/workflows/lint-ansible.yaml
secrets:
vault-password: ${{ secrets.ANSIBLE_VAULT_PASSWORD }}
+
+ lint-kubernetes:
+ needs: changes
+ if: ${{ needs.changes.outputs.kubernetes == 'true' }}
+ uses: ./.github/workflows/lint-kubernetes.yaml
+ secrets:
+ kube-config: ${{ secrets.KUBECONFIG }}