This is an automated email from the ASF dual-hosted git repository.
snazy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/polaris.git
The following commit(s) were added to refs/heads/main by this push:
new 0b1f606f CI: add basic Helm testing (#352)
0b1f606f is described below
commit 0b1f606f46195e10ea1f171433364b189eb6ad40
Author: Alexandre Dutra <[email protected]>
AuthorDate: Tue Oct 15 15:19:38 2024 +0200
CI: add basic Helm testing (#352)
* CI: add basic Helm testing
* Make test required
---------
Co-authored-by: Robert Stupp <[email protected]>
---
.asf.yaml | 1 +
.github/workflows/helm.yml | 91 ++++++++++++++++++++++
helm/polaris/Chart.yaml | 3 +
helm/polaris/{Chart.yaml => ci/simple-values.yaml} | 18 ++---
helm/polaris/values.yaml | 2 +-
5 files changed, 101 insertions(+), 14 deletions(-)
diff --git a/.asf.yaml b/.asf.yaml
index 4ee05617..217cc525 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -51,6 +51,7 @@ github:
- build
- regtest
- site
+ - helm-tests
features:
wiki: false
diff --git a/.github/workflows/helm.yml b/.github/workflows/helm.yml
new file mode 100644
index 00000000..07e6e196
--- /dev/null
+++ b/.github/workflows/helm.yml
@@ -0,0 +1,91 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# This workflow uses actions that are not certified by GitHub.
+# They are provided by a third-party and are governed by
+# separate terms of service, privacy policy, and support
+# documentation.
+
+name: Helm tests
+
+on:
+ push:
+ branches: [ "main" ]
+ pull_request:
+ branches: [ "main" ]
+
+jobs:
+
+ helm-tests:
+ name: Helm tests
+ runs-on: ubuntu-latest
+ timeout-minutes: 60
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+
+ - name: Set up Helm
+ uses: azure/[email protected]
+ with:
+ version: 'v3.16.0'
+
+ - name: Set up chart-testing
+ uses: helm/[email protected]
+
+ - name: Run chart-testing (list-changed)
+ id: list-changed
+ run: |
+ changed=$(ct list-changed --target-branch ${{
github.event.repository.default_branch }} --chart-dirs helm)
+ if [[ -n "$changed" ]]; then
+ echo "changed=true" >> "$GITHUB_OUTPUT"
+ fi
+
+ - name: Run 'helm template' validation
+ if: steps.list-changed.outputs.changed == 'true'
+ run: |
+ cd helm/polaris
+ for f in values.yaml ci/*.yaml; do
+ echo "::group::helm template $f"
+ helm template --debug --namespace polaris-ns --values $f .
+ echo "::endgroup::"
+ done
+
+ - name: Run chart-testing (lint)
+ if: steps.list-changed.outputs.changed == 'true'
+ run: ct lint --target-branch ${{
github.event.repository.default_branch }} --debug --charts ./helm/polaris
+
+ - name: Set up Minikube
+ if: steps.list-changed.outputs.changed == 'true'
+ uses: medyagh/[email protected]
+
+ - name: Docker build
+ if: steps.list-changed.outputs.changed == 'true'
+ run: |
+ eval $(minikube docker-env)
+ docker build -f ./Dockerfile -t polaris:latest .
+
+ - name: Run chart-testing (install)
+ if: steps.list-changed.outputs.changed == 'true'
+ run: |
+ ct install --target-branch ${{
github.event.repository.default_branch }} \
+ --helm-extra-set-args "--set=image.repository=polaris
--set=image.tag=latest" \
+ --debug --charts ./helm/polaris
diff --git a/helm/polaris/Chart.yaml b/helm/polaris/Chart.yaml
index 8fe6691b..3328146d 100644
--- a/helm/polaris/Chart.yaml
+++ b/helm/polaris/Chart.yaml
@@ -29,3 +29,6 @@ sources:
keywords:
- polaris
- iceberg
+maintainers:
+ - name: MonkeyCanCode
+ - name: adutra
diff --git a/helm/polaris/Chart.yaml b/helm/polaris/ci/simple-values.yaml
similarity index 67%
copy from helm/polaris/Chart.yaml
copy to helm/polaris/ci/simple-values.yaml
index 8fe6691b..9aa65dd5 100644
--- a/helm/polaris/Chart.yaml
+++ b/helm/polaris/ci/simple-values.yaml
@@ -7,7 +7,7 @@
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
-# http://www.apache.org/licenses/LICENSE-2.0
+# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
@@ -17,15 +17,7 @@
# under the License.
#
-apiVersion: v2
-name: polaris
-description: A Helm chart for Polaris
-type: application
-version: 0.1.0
-home: https://polaris.apache.org/
-icon:
https://raw.githubusercontent.com/apache/polaris/main/docs/img/logos/polaris-brandmark.png
-sources:
- - https://github.com/apache/polaris
-keywords:
- - polaris
- - iceberg
+image:
+ repository: polaris
+ tag: latest
+ pullPolicy: Never
diff --git a/helm/polaris/values.yaml b/helm/polaris/values.yaml
index 243914d9..bbba26af 100644
--- a/helm/polaris/values.yaml
+++ b/helm/polaris/values.yaml
@@ -257,7 +257,7 @@ polarisServerConfig:
# The hostname of the interface to which the HTTP server socket wil be
found. If omitted, the
# socket will listen on all interfaces.
- #bindHost: localhost
+ # bindHost: localhost
# ssl:
# keyStore: ./example.keystore