name: 阿里云仓库同步流水线(强制同步/镜像模式) # 注意:此workflow使用强制同步模式(git reset --hard),会覆盖目标仓库的所有更改 # 如果需要使用合并模式(merge --no-ff),请使用 aliyun-repo-merge.yml workflow on: push: branches: - master paths: - 'aliyun_repos.yaml' - '.gitea/workflows/aliyun-repo-sync.yml' workflow_dispatch: env: CONFIG_FILE: 'aliyun_repos.yaml' jobs: sync-repositories: runs-on: ubuntu-latest steps: - name: 签出配置仓库 uses: actions/checkout@v4 with: fetch-depth: 1 - name: 配置 Git run: | git config --global user.name "gitea-runner" git config --global user.email "actions@gitea.fjy8018.top" git config --global init.defaultBranch master - name: 安装依赖 run: | apt-get update apt-get install -y python3-yaml jq - name: 验证配置文件 run: | if [ ! -f "${{ env.CONFIG_FILE }}" ]; then echo "错误: 配置文件 ${{ env.CONFIG_FILE }} 不存在!" exit 1 fi echo "✓ 配置文件已找到" - name: 从配置文件中提取仓库并同步 env: UPSTREAM_USERNAME: ${{ secrets.CODEUP_USERNAME }} UPSTREAM_TOKEN: ${{ secrets.CODEUP_PASSWORD }} TARGET_USERNAME: ${{ secrets.TARGET_USERNAME }} TARGET_TOKEN: ${{ secrets.TARGET_TOKEN }} run: python3 sync_repos.py