From 208277c00968dad5a13efccf022dbf4a8de7d345 Mon Sep 17 00:00:00 2001 From: Adoo Date: Thu, 7 Dec 2023 15:44:18 +0800 Subject: [PATCH] =?UTF-8?q?chore(ribir):=20=F0=9F=A4=96=20create=20a=20Git?= =?UTF-8?q?Hub=20release=20for=20every=20alpha=20release?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/alpha-release.yml | 31 ++++++++++++++++++++++++++++- CHANGELOG.md | 2 +- ribir/Cargo.toml | 14 ++++++------- 3 files changed, 38 insertions(+), 9 deletions(-) diff --git a/.github/workflows/alpha-release.yml b/.github/workflows/alpha-release.yml index d4383ad89..1ba4a76c8 100644 --- a/.github/workflows/alpha-release.yml +++ b/.github/workflows/alpha-release.yml @@ -9,6 +9,12 @@ jobs: release: runs-on: ubuntu-22.04 steps: + - name: Exit if the branch is not master + run: | + if [[ "${{ github.ref }}" != "refs/heads/master" ]]; then + echo "Branch is not master, exiting." + exit 0 + fi - uses: actions/checkout@v3 with: fetch-depth: 0 # Required to count the commits @@ -39,9 +45,32 @@ jobs: git config --global user.email "Adoo@outlook.com" git config --global user.name "Bot@Ribir" - - name: Run cargo release + - name: Run cargo release to publish if: ${{ env.NEW_COMMIT_COUNT > 0 }} uses: actions-rs/cargo@v1 with: command: release args: alpha --execute --no-confirm + - name: Extract changelog + if: ${{ env.NEW_COMMIT_COUNT > 0 }} + run: | + echo "TAG_NAME=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV + version=$(git describe --tags --abbrev=0 | grep -oP '(?<=v)\S*') + echo "VERSION=$version" >> $GITHUB_ENV + { + echo 'CHANGELOG<> $GITHUB_ENV + - name: Github release notes + if: ${{ env.NEW_COMMIT_COUNT > 0 }} + uses: ncipollo/release-action@v1 + with: + prerelease: true + body: ${{ env.CHANGELOG }} + tag: ${{ env.TAG_NAME }} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 0651d3e7e..558b4f5ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,7 +15,7 @@ There are 5 types of changes: And please only add new entries below the [Unreleased](#unreleased---releasedate) header with the following format: ```md -**crate or effect scope**: description of change ([#PR]) +**crate or effect scope**: description of change (#PR @contributor) ``` diff --git a/ribir/Cargo.toml b/ribir/Cargo.toml index 21a4d62cd..fc1eb85b0 100644 --- a/ribir/Cargo.toml +++ b/ribir/Cargo.toml @@ -59,11 +59,11 @@ raw-window-handle.workspace = true [package.metadata.release] tag = true pre-release-replacements = [ - {file="../CHANGELOG.md", search="@Unreleased", replace="{{version}}"}, - {file="../CHANGELOG.md", search="\\.\\.\\.HEAD", replace="...{{tag_name}}", min=0}, - {file="../CHANGELOG.md", search="@ReleaseDate", replace="{{date}}"}, - {file="../CHANGELOG.md", search="", replace="\n\n## [@Unreleased] - @ReleaseDate", exactly=1}, - {file="../CHANGELOG.md", search="", replace="\n[@Unreleased]: https://github.com/RibirX/Ribir/compare/{{tag_name}}...HEAD", exactly=1}, - {file="../docs/zh/起步/创建一个应用.md", search="@RIBIR_VERSION", replace="{{version}}"}, - {file="../docs/en/get_started/creating_an_application.md", search="@RIBIR_VERSION", replace="{{version}}"}, + {file="../CHANGELOG.md", search="@Unreleased", replace="{{version}}", prerelease = true}, + {file="../CHANGELOG.md", search="\\.\\.\\.HEAD", replace="...{{tag_name}}", min=0, prerelease = true}, + {file="../CHANGELOG.md", search="@ReleaseDate", replace="{{date}}", prerelease = true}, + {file="../CHANGELOG.md", search="", replace="\n\n## [@Unreleased] - @ReleaseDate", exactly=1, prerelease = true}, + {file="../CHANGELOG.md", search="", replace="\n[@Unreleased]: https://github.com/RibirX/Ribir/compare/{{tag_name}}...HEAD", exactly=1, prerelease = true}, + {file="../docs/zh/快速上手/创建一个应用.md", search="@RIBIR_VERSION", replace="{{version}}", prerelease = true}, + {file="../docs/en/get_started/creating_an_application.md", search="@RIBIR_VERSION", replace="{{version}}", prerelease = true}, ] \ No newline at end of file