diff options
-rw-r--r-- | .github/workflows/lint-kubernetes.yaml | 36 | ||||
-rw-r--r-- | .github/workflows/main.yaml | 12 |
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 }} |