diff options
| author | 2023-08-13 21:03:08 +0100 | |
|---|---|---|
| committer | 2023-08-14 11:44:04 +0100 | |
| commit | e64959280e030dab798c8d987b113f5cee366f2d (patch) | |
| tree | 2c16f657ebfff28c375ccf1e83ea9aae00943042 | |
| parent | Ignore secrets files in pre-commit hooks (diff) | |
Add kubernetes lint CI
| -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 }} | 
