From 4e046280a3811a5f2d9e7a9a9fb52c6247094ac5 Mon Sep 17 00:00:00 2001 From: Sig00rd Date: Mon, 16 Aug 2021 10:54:12 +0200 Subject: [PATCH] Workflow: Release Helm chart (#626) * Add Makefile target to release latest version of Helm chart * Add workflow that packages Helm chart release and creates PR with it * Remove old Helm targets --- .github/workflows/release-helm-chart.yaml | 40 +++++++++++++++++++++++ Makefile | 14 +++----- 2 files changed, 44 insertions(+), 10 deletions(-) create mode 100644 .github/workflows/release-helm-chart.yaml diff --git a/.github/workflows/release-helm-chart.yaml b/.github/workflows/release-helm-chart.yaml new file mode 100644 index 00000000..ece667f0 --- /dev/null +++ b/.github/workflows/release-helm-chart.yaml @@ -0,0 +1,40 @@ +name: Release Helm chart + +# Run this workflow manually +on: + workflow_dispatch: + inputs: + chartVersion: + description: "Helm chart version to release. eg. 0.4.1" + required: true + appVersion: + description: "Operator app version without quotes, eg. 0.5.1 . If not provided, the one in Chart.yaml won't be overwritten." + required: false + +jobs: + release-helm-chart: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Deploy Helm chart + run: | + sed -i "/version:/c\version: ${{ github.event.inputs.chartVersion }}" chart/jenkins-operator/Chart.yaml + + if [ ${{ github.event.inputs.appVersion }} ] ; then + sed -i "/appVersion:/c\appVersion: \"${{ github.event.inputs.appVersion }}\"" chart/jenkins-operator/Chart.yaml + fi + + make helm-release-latest + + # Creates pull request with new chart version + - name: Create Pull Request + uses: peter-evans/create-pull-request@v3 + with: + commit-message: Release Helm chart ${{ github.event.inputs.chartVersion }} + branch: helm-chart-release-${{ github.event.inputs.chartVersion }} + title: Release ${{ github.event.inputs.chartVersion }} Helm Chart + body: | + Release ${{ github.event.inputs.chartVersion }} Helm Chart \ No newline at end of file diff --git a/Makefile b/Makefile index 24d1f402..c775d529 100644 --- a/Makefile +++ b/Makefile @@ -407,21 +407,15 @@ helm-lint: helm @echo "+ $@" bin/helm lint chart/jenkins-operator -.PHONY: helm-package -helm-package: helm +.PHONY: helm-release-latest +helm-release-latest: helm @echo "+ $@" mkdir -p /tmp/jenkins-operator-charts mv chart/jenkins-operator/*.tgz /tmp/jenkins-operator-charts cd chart && ../bin/helm package jenkins-operator + mv chart/jenkins-operator-*.tgz chart/jenkins-operator/ + bin/helm repo index chart/ --url https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/chart/jenkins-operator/ --merge chart/index.yaml mv /tmp/jenkins-operator-charts/*.tgz chart/jenkins-operator/ - rm -rf /tmp/jenkins-operator-charts/ - git add chart/jenkins-operator-*.tgz - -.PHONY: helm-deploy -helm-deploy: helm-package - @echo "+ $@" - bin/helm repo index chart/ --url https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/chart/jenkins-operator/ - cd chart/ && mv jenkins-operator-*.tgz jenkins-operator # Download and build hugo extended locally if necessary HUGO_PATH = $(shell pwd)/bin/hugo