forked from eclipse-tractusx/managed-identity-wallet
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request eclipse-tractusx#191 from borisrizov-zf/chore/add-…
…manual-trigger-to-helm-workflow chore: add node_image input for kind cluster step
- Loading branch information
Showing
3 changed files
with
98 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -21,6 +21,19 @@ name: Verify and Test Helm Chart | |
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
node_image: | ||
description: 'kindest/node image for k8s kind cluster' | ||
# k8s version from 3.1 release as default | ||
default: 'kindest/node:v1.27.3' | ||
required: false | ||
type: string | ||
upgrade_from: | ||
description: 'chart version to upgrade from' | ||
# chart version from 3.1 release as default | ||
default: '0.2.0' | ||
required: false | ||
type: string | ||
pull_request: | ||
paths: | ||
- 'charts/managed-identity-wallet/**' | ||
|
@@ -107,9 +120,10 @@ jobs: | |
distribution: 'temurin' | ||
java-version: '17' | ||
|
||
- name: Add bitnami repo | ||
- name: Add bitnami and tractusx-dev repos | ||
run: | | ||
helm repo add bitnami https://charts.bitnami.com/bitnami | ||
helm repo add tractusx-dev https://eclipse-tractusx.github.io/charts/dev | ||
helm repo update | ||
- name: Update Helm dependencies | ||
|
@@ -132,7 +146,8 @@ jobs: | |
- name: Kubernetes KinD Cluster | ||
uses: container-tools/kind-action@v2 | ||
with: | ||
node_image: 'kindest/node:v1.27.3' | ||
# default value for event_name != workflow_dispatch | ||
node_image: ${{ github.event.inputs.node_image || 'kindest/node:v1.27.3' }} | ||
version: v0.20.0 | ||
|
||
- name: Build image | ||
|
@@ -142,5 +157,80 @@ jobs: | |
push: true | ||
tags: kind-registry:5000/miw:testing | ||
|
||
- name: Install the chart on KinD cluster | ||
run: helm install -n apps --create-namespace --wait --set image.tag=testing --set=image.repository=kind-registry:5000/miw testing charts/managed-identity-wallet | ||
- uses: actions/setup-python@v4 | ||
with: | ||
python-version: '3.10' | ||
check-latest: true | ||
- name: Set up chart-testing | ||
uses: helm/[email protected] | ||
|
||
# ct list-changed will output all charts which have changed compared to the target-branch | ||
# Example: | ||
# Our branch has update the charts/managed-identity-wallet | ||
# When we compare with main/develop | ||
# We get the output | ||
# > charts/managed-identity-wallet | ||
# and subsequently set the variable `changed=true` | ||
- name: Run chart-testing (list-changed) | ||
id: list-changed | ||
run: | | ||
changed=$(ct list-changed --target-branch ${{ github.event.repository.default_branch }}) | ||
if [[ -n "$changed" ]]; then | ||
echo "changed=true" >> $GITHUB_OUTPUT | ||
fi | ||
# TODO: update the ci/all-values.yaml file before enabling this step | ||
- name: Run chart-testing (install) | ||
run: ct install --charts charts/managed-identity-wallet | ||
# if: github.event_name != 'pull_request' || steps.list-changed.outputs.changed == 'true' | ||
if: false | ||
|
||
# command breakdown | ||
# install: install the chart effectively creating a release | ||
# install arg 1 (testing): the name of the release | ||
# install arg 2 (tractusx-dev/managed-identity-wallet): the chart to install (in this case the official one from the dev repo) | ||
# -n/--namespace: the namespace to use when installing | ||
# --create-namespace: create the release namespace if it doesn't exist | ||
# --wait: wait for all resources to start | ||
# --version: The chart version to install | ||
- name: Install the default chart on KinD cluster | ||
run: | | ||
helm install \ | ||
testing \ | ||
tractusx-dev/managed-identity-wallet \ | ||
-n apps \ | ||
--create-namespace \ | ||
--wait \ | ||
--version ${{ github.event.inputs.upgrade_from || '0.2.0' }} | ||
# command breakdown | ||
# helm dependency update: update chart dependencies based on the content of Chart.yaml | ||
# update arg1 (charts/managed-identity-wallet): the location of Chart.yaml | ||
# -n/--namespace apps: run in the `apps` namespace | ||
# --- | ||
# helm upgrade: upgrade a release | ||
# upgrade arg1 (testing): the name of the release to upgrade | ||
# upgrade arg2 (charts/managed-identity-wallet): the location of Chart.yaml | ||
# -n/--namespace apps: run in the `apps` namespace | ||
# --wait: wait for all pods, services etc. ro run | ||
# --set image.tag=testing: overwrite the image.tag value to be `testing` | ||
# --set image.repository=kind-registry:5000/miw: overwrite the image.repository value to be `kind-registry:5000/miw` | ||
# --- | ||
# NOTE: the overwritten values for the image are used to ensure we use the latest chart version, which was | ||
# built during the workflow run. | ||
- name: Run helm upgrade | ||
run: | | ||
helm dependency \ | ||
update \ | ||
charts/managed-identity-wallet \ | ||
-n apps | ||
helm upgrade \ | ||
testing \ | ||
charts/managed-identity-wallet \ | ||
-n apps \ | ||
--wait \ | ||
--set image.tag=testing \ | ||
--set image.repository=kind-registry:5000/miw | ||
# only run if this is not a PR -OR- if there are new versions available | ||
if: github.event_name != 'pull_request' || steps.list-changed.outputs.changed == 'true' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters