Skip to content

Generate release

Generate release #5

Workflow file for this run

name: Generate release
on:
push:
tags:
- "v*.*.*"
permissions:
contents: write
packages: write
jobs:
docker-publish:
name: CI
uses: ./.github/workflows/docker-publish.yml
helm-publish:
name: CI
uses: ./.github/workflows/helm-publish.yml
generate-release:
name: Generate release
runs-on: ubuntu-22.04
needs:
- helm-publish
- docker-publish
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Prepare
id: prep
uses: ./.github/actions/prep
- name: Set the release version
id: release
shell: bash
run: |
RELEASE_VERSION=${GITHUB_REF:11}
IS_PRERELEASE=false
if [[ "$RELEASE_VERSION" == *dev* ]]; then
IS_PRERELEASE=true
fi
echo "release_version=${RELEASE_VERSION}" >> $GITHUB_OUTPUT
echo "is_prerelease=${IS_PRERELEASE}" >> $GITHUB_OUTPUT
echo "::notice::Release version: ${RELEASE_VERSION}"
echo "::notice::Is prerelease: ${IS_PRERELEASE}"
- name: Generate a changelog
uses: orhun/git-cliff-action@main
id: git-cliff
with:
config: cliff.toml
args: -vv --latest --no-exec --github-repo ${{ github.repository }} --strip all
- name: Changelog content pre-processing
id: changelog-pre-process
env:
HELM_REPO_URL: "${{ steps.prep.outputs.helm_oci_repo }}"
HELM_CHART: "${{ steps.prep.outputs.helm_chart }}"
HELM_TARGET_REVISION: "${{ steps.prep.outputs.helm_target_revision }}"
DOCKER_IMAGE: "${{ steps.prep.outputs.docker_image }}"
shell: bash
run: |
EXTENDEND_CHANGELOG=/tmp/extendend_changelog.md
echo "# Changelog" >> $EXTENDEND_CHANGELOG
echo "" >> $EXTENDEND_CHANGELOG
echo "> [!Important]" >> $EXTENDEND_CHANGELOG
echo "> Helm Repo URL: **$HELM_REPO_URL**" >> $EXTENDEND_CHANGELOG
echo "> Helm Chart: **$HELM_CHART**" >> $EXTENDEND_CHANGELOG
echo "> Helm Target Revision: **$HELM_TARGET_REVISION**" >> $EXTENDEND_CHANGELOG
echo "> Docker image: **$DOCKER_IMAGE**" >> $EXTENDEND_CHANGELOG
echo "${{ steps.git-cliff.outputs.content }}" >> $EXTENDEND_CHANGELOG
echo "extended_changelog_path=${EXTENDEND_CHANGELOG}" >> $GITHUB_OUTPUT
cat $EXTENDEND_CHANGELOG >> $GITHUB_STEP_SUMMARY
- name: Create Github Release
uses: softprops/action-gh-release@v2
if: github.ref_type == 'tag'
with:
token: ${{ secrets.GITHUB_TOKEN }}
name: "v${{ steps.release.outputs.release_version }}"
prerelease: ${{ steps.release.outputs.is_prerelease }}
body: ${{ steps.changelog-pre-process.outputs.extended_changelog }}
body_path: ${{ steps.changelog-pre-process.outputs.extended_changelog_path }}