Release Charts #900
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
name: Release Chart | |
on: | |
workflow_dispatch: | |
inputs: | |
release_version: | |
description: 'The release version of helm chart' | |
required: true | |
default: '' | |
release: | |
types: | |
- published | |
env: | |
GH_TOKEN: ${{ github.token }} | |
RELEASE_VERSION: ${{ github.ref_name }} | |
jobs: | |
release-version: | |
runs-on: ubuntu-latest | |
outputs: | |
release-version: ${{ steps.get_release_version.outputs.release_version }} | |
release-version-bump: ${{ steps.get_release_version.outputs.release_version_bump }} | |
steps: | |
- name: Get Release Version | |
id: get_release_version | |
run: | | |
RELEASE_VERSION=${{ inputs.release_version }} | |
if [ -z "$RELEASE_VERSION" ]; then | |
RELEASE_VERSION=${{ env.RELEASE_VERSION }} | |
fi | |
echo release_version=$RELEASE_VERSION >> $GITHUB_OUTPUT | |
RELEASE_VERSION_BUMP="${RELEASE_VERSION/v/}" | |
echo release_version_bump=$RELEASE_VERSION_BUMP >> $GITHUB_OUTPUT | |
release-chart: | |
needs: [ release-version ] | |
uses: apecloud/apecloud-cd/.github/workflows/release-charts.yml@v0.1.62 | |
with: | |
MAKE_OPS: "bump-chart-ver" | |
VERSION: "${{ needs.release-version.outputs.release-version }}" | |
CHART_NAME: "kubeblocks" | |
CHART_DIR: "deploy/helm" | |
APECD_REF: "v0.1.62" | |
MAKE_OPS_POST: "install" | |
GO_VERSION: "1.21" | |
secrets: inherit | |
release-addons-chart: | |
needs: [ release-chart ] | |
uses: apecloud/apecloud-cd/.github/workflows/release-charts.yml@v0.1.62 | |
with: | |
GITHUB_REPO: "apecloud/kubeblocks-addons" | |
GITHUB_REF: ${{ github.ref }} | |
CHART_DIR: "addons" | |
APECD_REF: "v0.1.62" | |
ENABLE_JIHU: false | |
secrets: inherit | |
release-charts-image: | |
needs: [ release-version, release-addons-chart ] | |
uses: apecloud/apecloud-cd/.github/workflows/release-image-cache.yml@v0.1.24 | |
with: | |
MAKE_OPS_PRE: "helm-package VERSION=${{ needs.release-version.outputs.release-version-bump }}" | |
IMG: "apecloud/kubeblocks-charts" | |
VERSION: "${{ needs.release-version.outputs.release-version }}" | |
GO_VERSION: "1.21" | |
APECD_REF: "v0.1.24" | |
DOCKERFILE_PATH: "./docker/Dockerfile-charts" | |
secrets: inherit | |
release-message: | |
runs-on: ubuntu-latest | |
needs: [ release-charts-image ] | |
outputs: | |
content-result: ${{ steps.release_message.outputs.content_result }} | |
release-version: ${{ steps.release_message.outputs.release_version }} | |
if: ${{ always() && github.event.action == 'published' }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: release message | |
id: release_message | |
run: | | |
ARTIFACT_KEY="${{ env.RELEASE_VERSION }}-chart" | |
touch ${ARTIFACT_KEY} | |
echo 'artifact_key='${ARTIFACT_KEY} >> $GITHUB_OUTPUT | |
CONTENT="error" | |
if [[ "${{ needs.release-charts-image.result }}" == "success" ]]; then | |
CONTENT="success" | |
echo "success" > ${ARTIFACT_KEY} | |
else | |
echo "error" > ${ARTIFACT_KEY} | |
fi | |
echo 'content_result='$CONTENT >> $GITHUB_OUTPUT | |
echo release_version=${{ env.RELEASE_VERSION }} >> $GITHUB_OUTPUT | |
- name: delete cache | |
continue-on-error: true | |
run: | | |
bash .github/utils/utils.sh --type 17 --tag-name "${{ steps.release_message.outputs.artifact_key }}" | |
- name: Save Artifact | |
id: cache-artifact-save | |
uses: actions/cache/save@v3 | |
with: | |
path: | | |
${{ steps.release_message.outputs.artifact_key }} | |
key: ${{ steps.release_message.outputs.artifact_key }} | |
send-message: | |
needs: [ release-message ] | |
if: ${{ always() && github.event.action == 'published' }} | |
uses: apecloud/apecloud-cd/.github/workflows/feishui-message.yml@v0.1.38 | |
with: | |
TYPE: "2" | |
CONTENT: "release chart ${{ needs.release-message.outputs.release-version }} ${{ needs.release-message.outputs.content-result }}" | |
APECD_REF: "v0.1.38" | |
secrets: inherit | |
get-addons-chart-dir: | |
runs-on: ubuntu-latest | |
outputs: | |
matrix: ${{ steps.get_addons_chart_dir.outputs.matrix }} | |
steps: | |
- name: Checkout kubeblocks-addons Code | |
uses: actions/checkout@v4 | |
with: | |
repository: apecloud/kubeblocks-addons | |
path: kubeblocks-addons | |
ref: ${{ github.ref }} | |
- name: get addons chart dir | |
id: get_addons_chart_dir | |
run: | | |
addons_list=$(ls kubeblocks-addons/addons) | |
ADDONS_DIR="" | |
for addons_name in $( echo "$addons_list" ); do | |
if [[ -z "$ADDONS_DIR" ]]; then | |
ADDONS_DIR="{\"addon-name\":\"$addons_name\"}" | |
else | |
ADDONS_DIR="$ADDONS_DIR,{\"addon-name\":\"$addons_name\"}" | |
fi | |
done | |
echo "$ADDONS_DIR" | |
echo "matrix={\"include\":[$ADDONS_DIR]}" >> $GITHUB_OUTPUT | |
release-addons-chart-jihu: | |
needs: [ get-addons-chart-dir ] | |
strategy: | |
fail-fast: false | |
matrix: ${{ fromJSON(needs.get-addons-chart-dir.outputs.matrix) }} | |
uses: apecloud/apecloud-cd/.github/workflows/release-charts-jihu.yml@v0.1.52 | |
with: | |
GITHUB_REPO: "apecloud/kubeblocks-addons" | |
GITHUB_REF: ${{ github.ref }} | |
CHART_DIR: "addons" | |
SPECIFY_CHART: "${{ matrix.addon-name }}" | |
APECD_REF: "v0.1.52" | |
secrets: inherit | |