diff --git a/hack/verify-chart-lint.sh b/.ct.yaml old mode 100755 new mode 100644 similarity index 67% rename from hack/verify-chart-lint.sh rename to .ct.yaml index 1c661ae2bc..229030219b --- a/hack/verify-chart-lint.sh +++ b/.ct.yaml @@ -1,6 +1,4 @@ -#!/bin/bash - -# Copyright 2020 The Kubernetes Authors. +# Copyright 2024 The Kubernetes Authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,10 +11,16 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. +--- +remote: origin +target-branch: main + +validate-maintainers: false +check-version-increment: false -set -o errexit -set -o nounset -set -o pipefail +chart-repos: + - ingress-nginx=https://kubernetes.github.io/ingress-nginx +helm-extra-args: --timeout 800s -KUBE_ROOT="$( cd "$(dirname "$0")../" >/dev/null 2>&1 ; pwd -P )" -ct lint --charts ${KUBE_ROOT}/charts/ingress-nginx --validate-maintainers=false +chart-dirs: + - charts diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index a033bbfa98..f19b7158f8 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -168,28 +168,30 @@ jobs: name: docker.tar.gz path: docker.tar.gz retention-days: 5 - helm: - name: Helm chart + + helm-lint: + name: Helm chart lint runs-on: ubuntu-latest needs: - changes - - build if: | (needs.changes.outputs.charts == 'true') || (needs.changes.outputs.baseimage == 'true') - strategy: - matrix: - k8s: [v1.26.6, v1.27.3, v1.28.0, v1.29.0] - steps: - name: Checkout uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 + with: + fetch-depth: 0 - - name: Setup Go - uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 + - name: Set up Helm + uses: azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78 # v3.5 + + - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 with: - go-version: ${{ needs.build.outputs.golangversion }} - check-latest: true + python-version: '3.x' + + - name: Set up chart-testing + uses: helm/chart-testing-action@e6669bcd63d7cb57cb4380c33043eebe5d111992 # v2.6.1 - name: Install Helm Unit Test Plugin run: | @@ -199,14 +201,8 @@ jobs: run: | helm unittest charts/ingress-nginx -d - - name: cache - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 - with: - name: docker.tar.gz - - - name: Lint - run: | - ./build/run-in-docker.sh ./hack/verify-chart-lint.sh + - name: Run chart-testing (lint) + run: ct lint --config ./.ct.yaml - name: Run helm-docs run: | @@ -227,6 +223,35 @@ jobs: ./ah lint -p charts/ingress-nginx || exit 1 rm -f ./ah ./ah_1.5.0_linux_amd64.tar.gz + helm-test: + name: Helm chart testing + runs-on: ubuntu-latest + needs: + - changes + - build + - helm-lint + if: | + (needs.changes.outputs.charts == 'true') || (needs.changes.outputs.baseimage == 'true') + + strategy: + matrix: + k8s: [v1.26.6, v1.27.3, v1.28.0, v1.29.0] + + steps: + - name: Checkout + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 + + - name: Setup Go + uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 + with: + go-version: ${{ needs.build.outputs.golangversion }} + check-latest: true + + - name: cache + uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 + with: + name: docker.tar.gz + - name: fix permissions run: | sudo mkdir -p $HOME/.kube diff --git a/charts/ingress-nginx/Chart.yaml b/charts/ingress-nginx/Chart.yaml index 3e977530fa..7996c29c51 100644 --- a/charts/ingress-nginx/Chart.yaml +++ b/charts/ingress-nginx/Chart.yaml @@ -9,15 +9,15 @@ description: Ingress controller for Kubernetes using NGINX as a reverse proxy an home: https://github.com/kubernetes/ingress-nginx icon: https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Nginx_logo.svg/500px-Nginx_logo.svg.png keywords: -- ingress -- nginx + - ingress + - nginx kubeVersion: '>=1.20.0-0' maintainers: -- name: Gacko -- name: rikatz -- name: strongjz -- name: tao12345666333 + - name: Gacko + - name: rikatz + - name: strongjz + - name: tao12345666333 name: ingress-nginx sources: -- https://github.com/kubernetes/ingress-nginx + - https://github.com/kubernetes/ingress-nginx version: 4.10.0