From 728e451e66fbdfb89be7366fa1cf485f748763c5 Mon Sep 17 00:00:00 2001 From: servostar Date: Mon, 25 Nov 2024 13:35:37 +0000 Subject: [PATCH] ci: add prepare action and run release on pushed tag (#99) Release-As: v0.5.3 Reviewed-on: https://git.montehaselino.de/DHBW/dhbw-abb-typst-template/pulls/99 Co-authored-by: servostar Co-committed-by: servostar --- .gitea/workflows/prepare.yml | 45 ++++++++++++++++++++++++++++++++++++ .gitea/workflows/release.yml | 28 +++------------------- 2 files changed, 48 insertions(+), 25 deletions(-) create mode 100644 .gitea/workflows/prepare.yml diff --git a/.gitea/workflows/prepare.yml b/.gitea/workflows/prepare.yml new file mode 100644 index 0000000..585353e --- /dev/null +++ b/.gitea/workflows/prepare.yml @@ -0,0 +1,45 @@ +name: Create Release Commit +on: + push: + branches: + - main + tags-ignore: + - v*.*.* +jobs: + prepare: + runs-on: ubuntu-latest + if: contains(github.event.head_commit.message, 'Release-As:') + env: + USERNAME: servostar + EMAIL: sven.vogel123@web.de + steps: + - name: Check out repository code + uses: actions/checkout@v3 + - name: Setup go + uses: actions/setup-go@v4 + with: + go-version: '>=1.20.1' + - name: Tag Release Commit + env: + COMMIT_MESSAGE: ${{github.event.head_commit.message}} + run: | + export VERSION=$(echo "${COMMIT_MESSAGE}" | grep -Po '(?<=Release-As: )v\d+\.\d+\.\d+') + echo "==> Tagging for version: ${VERSION}" + echo "::group::{Configure git credential store}" + git config --global credential.helper store + echo "https://${USERNAME}:${{secrets.RELEASE_TOKEN}}}@${{github.repositoryUrl}}" > ~/.git-credentials + echo "::endgroup::" + echo "::group::{Configure git user identity}" + git config --global user.name "${USERNAME}" + git config --global user.email "${EMAIL}" + echo "::endgroup::" + echo "::group::{Modify metadata}" + echo "==> Update typst.toml version" + sed -i "/version/c\version = \"${VERSION#v}\"" typst.toml + git add typst.toml + git commit -m "chore: bump release version to $VERSION" + echo "::endgroup::" + echo "::group::{Tag commit}" + git tag -m "Release" "${VERSION}" + git push "${VERSION}" + echo "::endgroup::" diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 88c2c1f..3a1526c 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -1,8 +1,10 @@ -name: Build'n check +name: Create Release on: push: branches: - main + tags: + - v*.*.* jobs: build: name: Check Template and Build example @@ -37,10 +39,6 @@ jobs: release: runs-on: ubuntu-latest needs: build - if: contains(github.event.head_commit.message, 'Release-As:') - env: - USERNAME: servostar - EMAIL: sven.vogel123@web.de steps: - name: Check out repository code uses: actions/checkout@v3 @@ -58,25 +56,6 @@ jobs: run: echo ${{ steps.download.outputs.download-path }} - name: Prepare Release run: echo ${{ github.sha }} > Release.txt - - name: Tag Release Commit - env: - COMMIT_MESSAGE: ${{github.event.head_commit.message}} - run: | - export VERSION=$(echo "${COMMIT_MESSAGE}" | grep -Po '(?<=Release-As: )v\d+\.\d+\.\d+') - echo "==> Tagging for version: ${VERSION}" - echo "::group::{Configure git credential store}" - git config --global credential.helper store - echo "https://${USERNAME}:${{secrets.RELEASE_TOKEN}}}@${{github.repositoryUrl}}" > ~/.git-credentials - echo "::endgroup::" - echo "::group::{Configure git user identity}" - git config --global user.name "${USERNAME}" - git config --global user.email "${EMAIL}" - echo "::endgroup::" - echo "::group::{Tag commit}" - git tag -m "Release" "${VERSION}" - git push origin "${VERSION}" - echo "::endgroup::" - echo "${VERSION}" > Version.txt - name: Create release id: create-release uses: https://gitea.com/actions/release-action@main @@ -84,6 +63,5 @@ jobs: files: |- Example.pdf Release.txt - Version.txt LICENSE api_key: '${{secrets.RELEASE_TOKEN}}'