mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-16 09:50:40 +08:00
Bumps the github-actions group in /.github/workflows with 4 updates: [actions/upload-artifact](https://github.com/actions/upload-artifact), [actions/cache](https://github.com/actions/cache), [actions/download-artifact](https://github.com/actions/download-artifact) and [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request). Updates `actions/upload-artifact` from 5 to 6 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v5...v6) Updates `actions/cache` from 4 to 5 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v4...v5) Updates `actions/download-artifact` from 6 to 7 - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v6...v7) Updates `peter-evans/create-pull-request` from 7 to 8 - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v7...v8) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/cache dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/download-artifact dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: peter-evans/create-pull-request dependency-version: '8' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
112 lines
3.8 KiB
YAML
112 lines
3.8 KiB
YAML
name: Release Preparation
|
|
|
|
on:
|
|
pull_request:
|
|
types:
|
|
- opened
|
|
- reopened
|
|
- ready_for_review
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
generate-changelog:
|
|
name: Generate Changelog
|
|
# startsWith 表达式不区分大小写
|
|
if: github.event.pull_request.draft == false && startsWith(github.event.pull_request.title, 'Release v')
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v6
|
|
with:
|
|
fetch-depth: 0
|
|
show-progress: false
|
|
|
|
- name: Extract release information
|
|
id: extract_tag
|
|
env:
|
|
PR_BODY: ${{ format('{0}/{1}', runner.temp, 'output' ) }}
|
|
run: |
|
|
tag_name=$(echo "${{ github.event.pull_request.title }}" | sed -E 's/(Release|release)//' | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
|
echo "tag_name=$tag_name" >> $GITHUB_OUTPUT
|
|
|
|
pr_title="docs: Auto Update Changelogs of "$tag_name
|
|
echo "pr_title=$pr_title" >> $GITHUB_OUTPUT
|
|
|
|
latest_stable_tag=$(git tag -l 'v*' | grep -v '-' | sort -V | tail -n 1) # 上一个 stable 版本
|
|
newest_tag=$(git describe --tags --match "v*" --abbrev=0) # 最新版本
|
|
echo "latest_stable_tag=$latest_stable_tag" >> $GITHUB_OUTPUT
|
|
echo "newest_tag=$newest_tag" >> $GITHUB_OUTPUT
|
|
|
|
if [[ $tag_name == *-* ]]; then # 判断新版本是否为 beta 版本
|
|
latest=$newest_tag # 若是,则将 latest 参数设置为最新版本
|
|
else
|
|
latest=$latest_stable_tag # 若否,则设置为上一个 stable 版本
|
|
fi
|
|
|
|
echo "latest=$latest" >> $GITHUB_OUTPUT
|
|
|
|
cat $GITHUB_OUTPUT
|
|
|
|
echo '======='
|
|
|
|
echo 'Target PR: ${{ github.event.pull_request.html_url }}' >> $PR_BODY
|
|
echo '' >> $PR_BODY
|
|
echo '<details><summary>Debug information</summary>' >> $PR_BODY
|
|
echo '' >> $PR_BODY
|
|
echo '```' >> $PR_BODY
|
|
sed 's/=/: /1' $GITHUB_OUTPUT >> $PR_BODY
|
|
echo '```' >> $PR_BODY
|
|
echo '' >> $PR_BODY
|
|
echo '</details>' >> $PR_BODY
|
|
|
|
cat $PR_BODY
|
|
|
|
- name: Generate changelog
|
|
run: |
|
|
git switch dev
|
|
python3 tools/ChangelogGenerator/changelog_generator.py --tag "${{ steps.extract_tag.outputs.tag_name }}" --latest "${{ steps.extract_tag.outputs.latest }}"
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Commit changes
|
|
run: |
|
|
git status
|
|
|
|
git config user.name "$GITHUB_ACTOR"
|
|
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
|
|
git add .
|
|
|
|
commit_msg="docs: Auto Generate Changelog of Release ""${{ steps.extract_tag.outputs.tag_name }}"
|
|
git commit -m "$commit_msg"
|
|
|
|
- name: Create changelog PR
|
|
uses: peter-evans/create-pull-request@v8
|
|
with:
|
|
sign-commits: true
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
title: ${{ steps.extract_tag.outputs.pr_title }}
|
|
body-path: ${{ format('{0}/{1}', runner.temp, 'output' ) }}
|
|
base: "dev"
|
|
branch: "changelog"
|
|
delete-branch: true
|
|
reviewers: |
|
|
AnnAngela
|
|
assignees: |
|
|
AnnAngela
|
|
|
|
- name: Assign reviewers to release PR
|
|
uses: kentaro-m/auto-assign-action@v2.0.0
|
|
with:
|
|
configuration-path: ".github/release_reviewers.yaml"
|
|
|
|
update-submodules:
|
|
name: Update Submodules
|
|
if: github.event.pull_request.draft == false && startsWith(github.event.pull_request.title, 'Release v')
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Trigger submodule update workflow
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
gh workflow run --repo $GITHUB_REPOSITORY update-submodules.yml
|