name: helm on: pull_request: jobs: lint: runs-on: ubuntu-latest steps: - name: Clone the code uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2 - name: Lint Helm Chart run: helm lint ./helm/kubernetes-operator test: runs-on: ubuntu-latest steps: - name: Clone the code uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2 - name: Setup Go uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 #v6.3.0 with: go-version-file: go.mod - name: Install the latest version of kind run: | curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-linux-amd64 chmod +x ./kind sudo mv ./kind /usr/local/bin/kind - name: Verify kind installation run: kind version - name: Create kind cluster run: kind create cluster - name: Prepare operator run: | make docker-build IMG=netbirdio/kubernetes-operator:debug kind load docker-image netbirdio/kubernetes-operator:debug - name: Install cert-manager via Helm run: | helm repo add jetstack https://charts.jetstack.io helm repo update helm install cert-manager jetstack/cert-manager --namespace cert-manager --create-namespace --set installCRDs=true - name: Wait for cert-manager to be ready run: | kubectl wait --namespace cert-manager --for=condition=available --timeout=300s deployment/cert-manager kubectl wait --namespace cert-manager --for=condition=available --timeout=300s deployment/cert-manager-cainjector kubectl wait --namespace cert-manager --for=condition=available --timeout=300s deployment/cert-manager-webhook - name: Install Helm chart for project run: | helm install test-chart --create-namespace --namespace netbird --set 'operator.image.tag=debug' ./helm/kubernetes-operator - name: Check Helm release status run: | helm status test-chart --namespace netbird