ci: refactor Gitee sync workflow with selective branch filtering

- Remove hidden workflow file (.sync-to-gitee.yml) and replace with standard naming
- Update trigger configuration to sync only main, develop, release/*, and hotfix/* branches
- Add tag synchronization for all version tags
- Improve branch push logic to explicitly reference origin branches
- Simplify workflow by removing unnecessary comments and consolidating sync logic
This commit is contained in:
Ke Sun
2026-04-02 11:33:09 +08:00
parent 4fb3d6992c
commit 9facb513b2
2 changed files with 36 additions and 35 deletions

36
.github/workflows/sync-to-gitee.yml vendored Normal file
View File

@@ -0,0 +1,36 @@
name: Sync to Gitee
on:
push:
branches:
- main # Production
- develop # Integration
- 'release/*' # Release preparation
- 'hotfix/*' # Urgent fixes
tags:
- '*' # All version tags (v1.0.0, etc.)
jobs:
sync:
runs-on: ubuntu-latest
steps:
- name: Checkout Source Code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Sync to Gitee
run: |
GITEE_URL="https://${{ secrets.GITEE_USERNAME }}:${{ secrets.GITEE_TOKEN }}@gitee.com/${{ secrets.GITEE_USERNAME }}/MemoryBear.git"
git remote add gitee "$GITEE_URL"
# 遍历并推送所有分支
for branch in $(git branch -r | grep -v HEAD | sed 's/origin\///'); do
echo "Syncing branch: $branch"
git push -f gitee "origin/$branch:refs/heads/$branch"
done
# 推送所有标签
echo "Syncing tags..."
git push gitee --tags --force