| name: CI |
| |
| on: |
| pull_request: |
| branches: |
| - "*" |
| |
| push: |
| |
| jobs: |
| |
| helm: |
| name: Helm chart |
| runs-on: ubuntu-20.04 |
| strategy: |
| matrix: |
| k8s: ["v1.16.15@sha256:64bac16b83b6adfd04ea3fbcf6c9b5b893277120f2b2cbf9f5fa3e5d4c2260cc", "v1.17.17@sha256:e477ee64df5731aa4ef4deabbafc34e8d9a686b49178f726563598344a3898d5", "v1.18.20@sha256:e3dca5e16116d11363e31639640042a9b1bd2c90f85717a7fc66be34089a8169", "v1.19.16@sha256:81f552397c1e6c1f293f967ecb1344d8857613fb978f963c30e907c32f598467", "v1.20.15@sha256:393bb9096c6c4d723bb17bceb0896407d7db581532d11ea2839c80b28e5d8deb", "v1.21.10@sha256:84709f09756ba4f863769bdcabe5edafc2ada72d3c8c44d6515fc581b66b029c", "v1.22.7@sha256:1dfd72d193bf7da64765fd2f2898f78663b9ba366c2aa74be1fd7498a1873166", "v1.23.4@sha256:0e34f0d0fd448aa2f2819cfd74e99fe5793a6e4938b328f657c8e3f81ee0dfb9"] |
| |
| steps: |
| |
| - name: Checkout |
| uses: actions/checkout@v2 |
| with: |
| submodules: recursive |
| |
| - name: Lint |
| run: | |
| docker run --rm --interactive --network host \ |
| --name ct-lint \ |
| --volume $PWD:/workdir \ |
| --workdir /workdir/charts/apisix \ |
| quay.io/helmpack/chart-testing:v3.4.0 sh -c 'helm dependency update \ |
| && cd ../.. \ |
| && helm repo add bitnami https://charts.bitnami.com/bitnami \ |
| && helm repo add apisix https://charts.apiseven.com \ |
| && ct lint \ |
| --charts charts/apisix \ |
| --charts charts/apisix-dashboard \ |
| --charts charts/apisix-ingress-controller' |
| |
| - name: fix permissions |
| run: | |
| sudo mkdir -p $HOME/.kube |
| sudo chmod -R 777 $HOME/.kube |
| |
| - name: Create Kubernetes ${{ matrix.k8s }} cluster |
| id: kind |
| uses: ./.github/actions/setup-kind |
| with: |
| version: v0.12.0 |
| config: test/e2e/kind.yaml |
| image: kindest/node:${{ matrix.k8s }} |
| |
| - name: Test |
| env: |
| KIND_CLUSTER_NAME: kind |
| SKIP_CLUSTER_CREATION: true |
| run: | |
| kind get kubeconfig > $HOME/.kube/kind-config-kind |
| docker run --rm --interactive --network host \ |
| --name ct \ |
| --volume $HOME/.kube/kind-config-kind:/root/.kube/config \ |
| --volume $PWD:/workdir \ |
| --workdir /workdir/charts/apisix \ |
| quay.io/helmpack/chart-testing:v3.4.0 sh -c 'helm dependency update \ |
| && cd ../.. \ |
| && helm repo add bitnami https://charts.bitnami.com/bitnami \ |
| && helm repo add apisix https://charts.apiseven.com \ |
| && ct install \ |
| --charts charts/apisix' |
| |
| - name: Setup Go |
| uses: actions/setup-go@v3 |
| with: |
| go-version: '1.19.2' |
| |
| - name: Run helm-docs |
| run: | |
| GOBIN=$PWD GO111MODULE=on go install github.com/norwoodj/helm-docs/cmd/helm-docs@v1.11.0 |
| ./helm-docs --chart-search-root=${GITHUB_WORKSPACE}/charts |
| DIFF=$(git diff ${GITHUB_WORKSPACE}/charts/**/*md) |
| if [ ! -z "$DIFF" ]; then |
| echo "Please use helm-docs in your clone, of your fork, of the project, and commit a updated README.md for the chart." |
| fi |
| git diff --exit-code |
| rm -f ./helm-docs |