name: Check Open WebUI Helm Charts (pipelines) on: pull_request: paths: - "charts/pipelines/**" push: paths: - "charts/pipelines/**" jobs: lint-chart: name: Lint Helm Chart runs-on: ubuntu-latest steps: - name: Checkout Code uses: actions/checkout@v4 - name: Set up Helm uses: azure/setup-helm@v4 - name: Lint pipelines Helm Chart run: | helm lint ./charts/pipelines test-deploy: name: Test Chart Deployment runs-on: ubuntu-latest needs: lint-chart steps: - name: Checkout Code uses: actions/checkout@v4 - name: Set up kubectl uses: azure/setup-kubectl@v4 - name: Set up Helm uses: azure/setup-helm@v4 - name: Set up KinD Cluster uses: helm/kind-action@v1 - name: Template open-webui Helm Chart run: | helm template pipelines ./charts/pipelines \ --namespace test-namespace --create-namespace > pipelines.yaml - name: Verify pipelines run: | kubectl create namespace test-namespace kubectl apply --namespace test-namespace -f pipelines.yaml PIPELINE_POD=$(kubectl get --namespace test-namespace pod -L app.kubernetes.io/component=pipelines -o jsonpath='{.items[*].metadata.name}') kubectl wait --namespace test-namespace pod/${PIPELINE_POD} --for=condition=Ready --timeout=600s