blob: 9b7b46f70e6378f7bb47d0e71f2c95cbeae23a0f [file] [log] [blame]
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