Skip to content

Do not attempt to fetch Operate resources from the mono repo for >= 8… #60

Do not attempt to fetch Operate resources from the mono repo for >= 8…

Do not attempt to fetch Operate resources from the mono repo for >= 8… #60

name: "Release - Generation"
on:
push:
tags:
# Example: 8.4-gen1
- 8\.\d+\+gen\d+
# Example: 8.6.0-alpha1
- 8\.\d+\-alpha\d+
- 8\.\d+\.\d+
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 Camunda release tag var
run: |
echo "CAMUNDA_RELEASE_NAME=${GITHUB_REF_NAME}" >> "${GITHUB_ENV}"
- name: Set Camunda application 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/camunda \
-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: Parse major version number
id: get-major-version
run: echo ${CAMUNDA_RELEASE_NAME} | awk -F '+' '{print $1}' | (IFS=. read major minor patch && echo "MAJOR_VERSION=$major") >> "$GITHUB_OUTPUT"
- name: Parse minor version number
id: get-minor-version
run: echo ${CAMUNDA_RELEASE_NAME} | awk -F '+' '{print $1}' | (IFS=. read major minor patch && echo "MINOR_VERSION=$minor") >> "$GITHUB_OUTPUT"
- name: Download Operate resources from monorepo
if: ${{ steps.get-major-version.outputs.MAJOR_VERSION == 8 && steps.get-minor-version.outputs.MINOR_VERSION == 5 }}
working-directory: ./release-notes-fetcher/tmp
run: |
gh release download "operate-${OPERATE_GITREF}" \
-R camunda/camunda \
-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: ${{ steps.get-major-version.outputs.MAJOR_VERSION == 8 && steps.get-minor-version.outputs.MINOR_VERSION < 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}" *