diff --git a/.gitea/workflows/zellij_update.yml b/.gitea/workflows/zellij_update.yml index 159f79d..702c2f3 100644 --- a/.gitea/workflows/zellij_update.yml +++ b/.gitea/workflows/zellij_update.yml @@ -19,10 +19,12 @@ jobs: - name: 检出仓库代码 (Checkout Repository) uses: actions/checkout@v4 with: - # 使用 Gitea Token 来允许推送操作 - token: ${{ secrets.GITEA_TOKEN }} - # 或使用 Gitea 默认的内置 token,但 Gitea 对其支持可能因版本而异。如果默认 token 无法推送,请改用 GITEA_TOKEN secret。 - # token: ${{ secrets.GITHUB_TOKEN }} # (Gitea Actions 通常也识别此变量名) + # *** 关键:使用 Gitea Actions 提供的内置 token (即 GITHUB_TOKEN) *** + # 此令牌由 Gitea 自动生成,用于在工作流运行时授权。 + # 它可以读写当前仓库,且不需要您手动配置 Secrets。 + token: ${{ secrets.GITHUB_TOKEN }} + # 确保拉取完整历史记录以进行正确的 git diff 和 commit + fetch-depth: 0 - name: 设置 Git 用户信息 (Set up Git user) run: | @@ -51,7 +53,7 @@ jobs: # 解压文件,会释放出一个名为 'zellij' 的二进制文件 tar -xzf zellij.tar.gz - # 将二进制文件移动到指定的目录,并重命名为 'zellij' (如果它不是) + # 将二进制文件移动到指定的目录,并重命名为 'zellij' mv zellij ${{ env.TARGET_DIR }}/zellij # 赋予执行权限 @@ -70,12 +72,14 @@ jobs: else echo "status=changed" >> $GITHUB_OUTPUT git add ${{ env.TARGET_DIR }}/zellij + # 使用 --allow-empty 确保即使文件内容不变,也能提交(如果需要,但这里我们使用 diff 避免空提交) git commit -m "chore(deps): 自动更新 Zellij 到最新版本" echo "::notice file=${{ env.TARGET_DIR }}/zellij::发现新版本 Zellij,已创建提交。" fi - name: 推送更改到 Gitea (Push Changes to Gitea) - # 仅当检测到文件变化时才推送 + # 仅当检测到文件变化且有新提交时才推送 if: steps.commit.outputs.status == 'changed' run: | + # 因为 actions/checkout 已经设置了内置 token 的凭证,所以可以直接执行 git push git push