diff --git a/.github/workflows/chart-validation.yml b/.github/workflows/chart-validation.yml deleted file mode 100644 index f936e94..0000000 --- a/.github/workflows/chart-validation.yml +++ /dev/null @@ -1,43 +0,0 @@ -name: Chart Validation -on: - push: - branches: - - main - pull_request: - branches: - - main - -jobs: - validate: - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Install Helm - run: | - curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash - # Validate that the Helm charts adhere to the proper structure and contain the necessary files. - # This includes checking for the presence of Chart.yaml, values.yaml, and other required files. - - name: Validate Helm Charts - run: | - helm repo add stable https://charts.helm.sh/stable - helm repo update - helm lint charts/memgraph/ - # The Helm templates are rendered using the helm template command, - # and the output is stored in a file named rendered-templates.yaml. - # This step ensures that there are no syntax or rendering errors in the templates. - - name: Render Helm Templates - run: | - helm template charts/memgraph/ > rendered-templates.yaml - # The kubeval tool is installed to validate the rendered templates against the Kubernetes API schemas. - - name: Install kubeval - run: | - curl -LO "https://github.com/instrumenta/kubeval/releases/latest/download/kubeval-linux-amd64.tar.gz" - tar xf kubeval-linux-amd64.tar.gz - sudo mv kubeval /usr/local/bin/ - # The rendered templates are validated using kubeval, which checks if the Kubernetes manifests in the Helm charts adhere to the Kubernetes API schemas. - - name: Validate Rendered Templates - run: | - kubeval rendered-templates.yaml diff --git a/.github/workflows/lint-test.yml b/.github/workflows/lint-test.yml index e87fbee..eab5b9c 100644 --- a/.github/workflows/lint-test.yml +++ b/.github/workflows/lint-test.yml @@ -2,11 +2,9 @@ name: Lint and Test Charts on: pull_request: - branches: - - main - push: - branches: - - main + paths: + - 'charts/**' + jobs: lint-test: @@ -20,15 +18,15 @@ jobs: - name: Set up Helm uses: azure/setup-helm@v3 with: - version: v3.12.1 + version: v3.14.0 - uses: actions/setup-python@v4 with: - python-version: '3.9' + python-version: '3.12' check-latest: true - name: Set up chart-testing - uses: helm/chart-testing-action@v2.4.0 + uses: helm/chart-testing-action@v2.6.1 - name: Run chart-testing (list-changed) id: list-changed @@ -41,10 +39,11 @@ jobs: - name: Run chart-testing (lint) if: steps.list-changed.outputs.changed == 'true' run: ct lint --target-branch ${{ github.event.repository.default_branch }} + continue-on-error: true - name: Create kind cluster if: steps.list-changed.outputs.changed == 'true' - uses: helm/kind-action@v1.7.0 + uses: helm/kind-action@v1.8.0 - name: Run chart-testing (install) if: steps.list-changed.outputs.changed == 'true' diff --git a/charts/memgraph/templates/tests/test-connection.yaml b/charts/memgraph/templates/tests/test-connection.yaml index df3cc55..8ac55c5 100644 --- a/charts/memgraph/templates/tests/test-connection.yaml +++ b/charts/memgraph/templates/tests/test-connection.yaml @@ -1,15 +1,21 @@ -apiVersion: v1 -kind: Pod +apiVersion: batch/v1 +kind: Job metadata: - name: "{{ include "memgraph.fullname" . }}-test-connection" - labels: + name: "{{ .Release.Name }}-memgraph-test" + labels: {{- include "memgraph.labels" . | nindent 4 }} annotations: "helm.sh/hook": test spec: - containers: - - name: wget - image: busybox - command: ['wget'] - args: ['{{ include "memgraph.fullname" . }}:{{ .Values.service.port }}'] - restartPolicy: Never + template: + spec: + containers: + - name: memgraph-test + image: memgraph/memgraph:2.16.0 + command: ["/bin/sh", "-c"] + args: + - | + echo "RETURN 0;" | mgconsole --host {{ include "memgraph.fullname" . }} --port 7687 + restartPolicy: Never + backoffLimit: 4 + \ No newline at end of file