From 121f9623998a04f2578099e069116e6865139c55 Mon Sep 17 00:00:00 2001 From: Shaunak Deshmukh Date: Fri, 16 Sep 2022 18:13:46 +0530 Subject: [PATCH] Add yaml manifest generation (#2548) Co-authored-by: shaunak_deshmukh --- .github/workflows/release.yaml | 6 ++++ hack/build-yaml.sh | 55 ++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100755 hack/build-yaml.sh diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 349ebb9f..0a37314b 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -62,6 +62,12 @@ jobs: env: KEY: ${{ secrets.COSIGN_PRIVATE_KEY }} + - name: Generate yaml for manifest, Minikube and Openshift installation + run: ${GITHUB_WORKSPACE}/hack/build-yaml.sh $VERSION + env: + VERSION: ${{ steps.get_version.outputs.VERSION }} + shell: bash + - name: Run GoReleaser uses: goreleaser/goreleaser-action@v3 with: diff --git a/hack/build-yaml.sh b/hack/build-yaml.sh new file mode 100755 index 00000000..c3cfff7e --- /dev/null +++ b/hack/build-yaml.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +set -e +set -x + +DIR=${GITHUB_WORKSPACE} +MANIFESTDIR=${GITHUB_WORKSPACE}/manifest +CHARTPATH=${GITHUB_WORKSPACE}/charts/fission-all + +source $(realpath "${DIR}"/test/init_tools.sh) +doit() { + echo "! $*" + "$@" +} + +build_yamls() { + local version=$1 + + mkdir -p "${MANIFESTDIR}"/yamls + releaseName=fission-$(echo "${version}" | sed 's/\./-/g') + + cd $CHARTPATH + doit helm dependency update + cd $GITHUB_WORKSPACE + + echo "Release name", "$releaseName" + cmdprefix="helm template ${releaseName} ${CHARTPATH} --namespace fission --validate" + + # for minikube and other environments that don't support LoadBalancer + command="$cmdprefix --set analytics=false,analyticsNonHelmInstall=true,serviceType=NodePort,routerServiceType=NodePort" + echo "$command" + $command >"$MANIFESTDIR/yamls/fission-all-${version}"-minikube.yaml + + # for environments that support LoadBalancer + command="$cmdprefix --set analytics=false,analyticsNonHelmInstall=true" + echo "$command" + $command >"$MANIFESTDIR/yamls/fission-all-${version}".yaml + + # for OpenShift + command="$cmdprefix --set analytics=false,analyticsNonHelmInstall=true,logger.enableSecurityContext=true" + echo "$command" + $command >"$MANIFESTDIR/yamls/fission-all-${version}"-openshift.yaml + +} + + +version=$1 +if [ -z "$version" ]; then + echo "Release version not mentioned" + exit 1 +fi + +echo "Current version for release: $version" + +build_yamls "$version" \ No newline at end of file