更新插件商店功能,支持通过模块名操作插件 #22
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Update Version | |
on: | |
pull_request_target: | |
paths: | |
- zhenxun/** | |
- resources/** | |
- bot.py | |
types: | |
- opened | |
- synchronize | |
branches: | |
- main | |
- dev | |
jobs: | |
update-version: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Read current version | |
id: read_version | |
run: | | |
version_line=$(grep '__version__' __version__) | |
version=$(echo $version_line | sed -E 's/__version__:\s*v([0-9]+\.[0-9]+\.[0-9]+)(-.+)?/\1/') | |
echo "Current version: $version" | |
echo "current_version=$version" >> $GITHUB_OUTPUT | |
- name: Check for version file changes | |
id: check_diff | |
run: | | |
if git diff --name-only HEAD~1 HEAD | grep -q '__version__'; then | |
echo "Version file has changes" | |
echo "version_changed=true" >> $GITHUB_OUTPUT | |
else | |
echo "Version file has no changes" | |
echo "version_changed=false" >> $GITHUB_OUTPUT | |
fi | |
- name: Get commit hash | |
id: get_commit_hash | |
run: echo "commit_hash=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT | |
- name: Update version file | |
if: steps.check_diff.outputs.version_changed == 'false' | |
run: | | |
current_version="${{ steps.read_version.outputs.current_version }}" | |
commit_hash="${{ steps.get_commit_hash.outputs.commit_hash }}" | |
new_version="v${current_version}-${commit_hash}" | |
echo "Updating version to: $new_version" | |
echo "__version__: $new_version" > __version__ | |
git config --global user.name "${{ github.event.pull_request.user.login }}" | |
git config --global user.email "${{ github.event.pull_request.user.login }}@users.noreply.github.com" | |
git add __version__ | |
git remote set-url origin https://github.com/${{ github.event.pull_request.head.repo.full_name }}.git | |
git commit -m "chore(version): Update version to $new_version" | |
git push origin HEAD:${{ github.event.pull_request.head.ref }} | |
- name: Check updated version | |
if: steps.check_diff.outputs.version_changed == 'false' | |
run: cat __version__ |