Release Charts #927
Workflow file for this run
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 }} | |
GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} | |
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.43 | |
with: | |
MAKE_OPS: "bump-chart-ver" | |
VERSION: "${{ needs.release-version.outputs.release-version }}" | |
CHART_NAME: "kubeblocks" | |
CHART_DIR: "deploy/helm" | |
APECD_REF: "v0.1.43" | |
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.52 | |
with: | |
GITHUB_REPO: "apecloud/kubeblocks-addons" | |
GITHUB_REF: ${{ github.ref }} | |
CHART_DIR: "addons" | |
APECD_REF: "v0.1.52" | |
ENABLE_JIHU: false | |
secrets: inherit | |
release-addons-cluster-chart: | |
needs: [ release-chart ] | |
uses: apecloud/apecloud-cd/.github/workflows/trigger-workflow.yml@v0.1.62 | |
with: | |
GITHUB_REPO: "apecloud/kubeblocks-addons" | |
BRANCH_NAME: "${{ github.ref_name }}" | |
WORKFLOW_ID: "release-addons-cluster-chart.yml" | |
APECD_REF: "v0.1.62" | |
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 | |
release-addons-chart-ent: | |
needs: [ release-addons-chart ] | |
uses: apecloud/apecloud-cd/.github/workflows/release-charts-enterprise.yml@v0.1.53 | |
with: | |
GITHUB_REPO: "apecloud/apecloud-addons" | |
GITHUB_REF: ${{ github.ref }} | |
CHART_DIR: "addons" | |
APECD_REF: "v0.1.53" | |
ENABLE_JIHU: false | |
secrets: inherit | |
get-addons-chart-dir-ent: | |
runs-on: ubuntu-latest | |
outputs: | |
matrix: ${{ steps.get_addons_chart_dir.outputs.matrix }} | |
steps: | |
- name: Checkout apecloud-addons Code | |
uses: actions/checkout@v4 | |
with: | |
repository: apecloud/apecloud-addons | |
path: apecloud-addons | |
ref: ${{ github.ref }} | |
token: ${{ env.GITHUB_TOKEN }} | |
- name: get addons chart dir | |
id: get_addons_chart_dir | |
run: | | |
addons_list=$(ls apecloud-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-ent: | |
needs: [ get-addons-chart-dir-ent ] | |
strategy: | |
fail-fast: false | |
matrix: ${{ fromJSON(needs.get-addons-chart-dir-ent.outputs.matrix) }} | |
uses: apecloud/apecloud-cd/.github/workflows/release-charts-jihu-enterprise.yml@v0.1.53 | |
with: | |
GITHUB_REPO: "apecloud/apecloud-addons" | |
GITHUB_REF: ${{ github.ref }} | |
CHART_DIR: "addons" | |
SPECIFY_CHART: "${{ matrix.addon-name }}" | |
APECD_REF: "v0.1.53" | |
secrets: inherit |