refactor: support camunda generation release name #15
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 - Generation" | |
on: | |
release: | |
types: [created] | |
tags: | |
- 8.*+gen* | |
push: | |
branches: | |
- distro-255-aa-fix-release-workflow | |
env: | |
# Example: 8.4+gen1 | |
CAMUNDA_RELEASE_NAME: 8.4+gen7 | |
jobs: | |
release_script: | |
runs-on: ubuntu-latest | |
name: Build release notes | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: "1.20" | |
- name: Build | |
working-directory: ./release-notes-fetcher | |
run: go build | |
- name: Generate token for Camunda GitHub org | |
id: generate-camunda-github-token | |
uses: tibdex/github-app-token@v1 | |
with: | |
app_id: ${{ secrets.APP_ID }} | |
private_key: ${{ secrets.APP_PRIVATE_KEY }} | |
- name: Generate token for Camunda Cloud GitHub org | |
id: generate-camunda-cloud-github-token | |
uses: tibdex/github-app-token@v1 | |
with: | |
app_id: ${{ secrets.APP_ID }} | |
private_key: ${{ secrets.APP_PRIVATE_KEY }} | |
repository: camunda-cloud/identity | |
- name: Set vars | |
run: | | |
CAMUNDA_VERSION="$(echo ${CAMUNDA_RELEASE_NAME} | awk -F '+' '{print $1}')" | |
CONFIG_FILE="release-notes-fetcher/config/release-notes-fetcher-camunda-${CAMUNDA_VERSION}.yaml" | |
export GLOBAL_GITREF="$(yq '.gitRef.global' ${CONFIG_FILE})" | |
# Generate env var from git ref for all apps. | |
# This will generate env vars like "ZEEBE_GITREF". | |
yq '.gitRef | omit(["global"]) | keys' "${CONFIG_FILE}" | sed 's/- //g' | | |
while read APP_NAME; do | |
APP_REF="$(APP_NAME=${APP_NAME} yq '.gitRef.[env(APP_NAME)] // env(GLOBAL_GITREF)' ${CONFIG_FILE})" | |
echo "${APP_NAME^^}_GITREF=${APP_REF}" >> "${GITHUB_ENV}" | |
done | |
- name: Run release notes script | |
working-directory: ./release-notes-fetcher | |
run: set -o pipefail; ./release-notes-fetcher | tee release_notes.txt | |
env: | |
GITHUB_CAMUNDA_ACCESS_TOKEN: ${{ steps.generate-camunda-github-token.outputs.token }} | |
GITHUB_CAMUNDA_CLOUD_ACCESS_TOKEN: ${{ steps.generate-camunda-cloud-github-token.outputs.token }} | |
- name: Login to gh repo | |
working-directory: ./release-notes-fetcher | |
run: echo ${{ steps.generate-camunda-github-token.outputs.token }} | gh auth login --with-token | |
- name: Edit release notes with output from script | |
working-directory: ./release-notes-fetcher | |
run: gh release edit --notes-file release_notes.txt -R camunda/camunda-platform ${CAMUNDA_RELEASE_NAME} | |
- name: Create temporary directory for asset download/upload | |
working-directory: ./release-notes-fetcher | |
run: mkdir -p tmp | |
# Tasklist binaries are uploaded to zeebes repo | |
- name: Download Zeebe resources | |
working-directory: ./release-notes-fetcher/tmp | |
run: | | |
gh release download "${ZEEBE_GITREF}" \ | |
-R camunda/zeebe \ | |
-p "zbctl" \ | |
-p "zbctl.sha1sum" \ | |
-p "zbctl.exe" \ | |
-p "zbctl.exe.sha1sum" \ | |
-p "zbctl.darwin" \ | |
-p "zbctl.darwin.sha1sum" \ | |
-p "camunda-zeebe-${ZEEBE_GITREF}.tar.gz" \ | |
-p "camunda-zeebe-${ZEEBE_GITREF}.tar.gz.sha1sum" \ | |
-p "camunda-zeebe-${ZEEBE_GITREF}.zip" \ | |
-p "camunda-zeebe-${ZEEBE_GITREF}.zip.sha1sum" \ | |
-p "camunda-tasklist-${ZEEBE_GITREF}.zip" \ | |
-p "camunda-tasklist-${ZEEBE_GITREF}.zip.sha1sum" \ | |
-p "camunda-tasklist-${ZEEBE_GITREF}.tar.gz" \ | |
-p "camunda-tasklist-${ZEEBE_GITREF}.tar.gz.sha1sum" | |
- name: Download Operate resources from monorepo | |
if: ${{ startsWith(env.CAMUNDA_RELEASE_NAME, '8.5') }} | |
working-directory: ./release-notes-fetcher/tmp | |
run: | | |
gh release download "operate-${OPERATE_GITREF}" \ | |
-R camunda/zeebe \ | |
-p "camunda-operate-${OPERATE_GITREF}.zip" \ | |
-p "camunda-operate-${OPERATE_GITREF}.zip.sha1sum" \ | |
-p "camunda-operate-${OPERATE_GITREF}.tar.gz" \ | |
-p "camunda-operate-${OPERATE_GITREF}.tar.gz.sha1sum" \ | |
- name: Download Operate resources | |
if: ${{ !startsWith(env.CAMUNDA_RELEASE_NAME, '8.5') }} | |
working-directory: ./release-notes-fetcher/tmp | |
run: | | |
gh release download "${OPERATE_GITREF}" \ | |
-R camunda/operate \ | |
-p "camunda-operate-${OPERATE_GITREF}.zip" \ | |
-p "camunda-operate-${OPERATE_GITREF}.zip.sha1sum" \ | |
-p "camunda-operate-${OPERATE_GITREF}.tar.gz" \ | |
-p "camunda-operate-${OPERATE_GITREF}.tar.gz.sha1sum" \ | |
- name: Login to Camunda Cloud | |
working-directory: ./release-notes-fetcher | |
run: echo ${{ steps.generate-camunda-cloud-github-token.outputs.token }} | gh auth login --with-token | |
- name: Download Identity resources | |
working-directory: ./release-notes-fetcher/tmp | |
run: | | |
gh release download "${IDENTITY_GITREF}" \ | |
-R camunda-cloud/identity \ | |
-p "camunda-identity-${IDENTITY_GITREF}.tar.gz" \ | |
-p "camunda-identity-${IDENTITY_GITREF}.tar.gz.sha1sum" \ | |
-p "camunda-identity-${IDENTITY_GITREF}.zip" \ | |
-p "camunda-identity-${IDENTITY_GITREF}.zip.sha1sum" | |
- name: Login back to Camunda | |
working-directory: ./release-notes-fetcher | |
run: echo ${{ steps.generate-camunda-github-token.outputs.token }} | gh auth login --with-token | |
- name: Upload resources | |
working-directory: ./release-notes-fetcher/tmp | |
run: gh release -R camunda/camunda-platform upload "${CAMUNDA_RELEASE_NAME}" * |