From 25d895d8b3f56624ccfe99ad7289e9eb49e0f316 Mon Sep 17 00:00:00 2001 From: csh Date: Fri, 22 May 2026 16:42:08 +0800 Subject: [PATCH] :bug: fix(gitea_workflow): clean up temp repos after job steps --- .gitea/workflows/standards-check.yml | 6 +++++- .gitea/workflows/test.yml | 6 +++++- .gitea/workflows/update-thirdparty-skills.yml | 6 +++++- templates/ci/gitea/.gitea/workflows/standards-check.yml | 6 +++++- tests/test_gitea_workflow_bootstrap.py | 2 +- 5 files changed, 21 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/standards-check.yml b/.gitea/workflows/standards-check.yml index c2e83404..dd6928ce 100644 --- a/.gitea/workflows/standards-check.yml +++ b/.gitea/workflows/standards-check.yml @@ -38,7 +38,6 @@ jobs: mkdir -p "$WORKSPACE_DIR" REPO_DIR="$(mktemp -d "$WORKSPACE_DIR/${REPO_NAME}.XXXXXX")" - trap 'rm -rf "$REPO_DIR"' EXIT if [ -n "$TOKEN" ]; then REPO_URL="https://oauth2:${TOKEN}@${GITHUB_SERVER_URL#https://}/${GITHUB_REPOSITORY}.git" @@ -65,3 +64,8 @@ jobs: run: | cd "$REPO_DIR" python3 .gitea/ci/commit_message_lint.py + + - name: 🧹 清理临时仓库 + if: always() + run: | + rm -rf "$REPO_DIR" diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index f4527e12..feaa71a8 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -45,7 +45,6 @@ jobs: mkdir -p "$WORKSPACE_DIR" REPO_DIR="$(mktemp -d "$WORKSPACE_DIR/${REPO_NAME}.XXXXXX")" - trap 'rm -rf "$REPO_DIR"' EXIT if [ -n "$TOKEN" ]; then REPO_URL="https://oauth2:${TOKEN}@${GITHUB_SERVER_URL#https://}/${GITHUB_REPOSITORY}.git" @@ -117,3 +116,8 @@ jobs: echo "========================================" sh tests/integration/check_doc_links.sh + + - name: 🧹 清理临时仓库 + if: always() + run: | + rm -rf "$REPO_DIR" diff --git a/.gitea/workflows/update-thirdparty-skills.yml b/.gitea/workflows/update-thirdparty-skills.yml index 36b633ed..378e5b6c 100644 --- a/.gitea/workflows/update-thirdparty-skills.yml +++ b/.gitea/workflows/update-thirdparty-skills.yml @@ -36,7 +36,6 @@ jobs: TOKEN="${{ secrets.WORKFLOW }}" mkdir -p "${{ env.WORKSPACE_DIR }}" REPO_DIR="$(mktemp -d "${{ env.WORKSPACE_DIR }}/${REPO_NAME}.XXXXXX")" - trap 'rm -rf "$REPO_DIR"' EXIT if [ -n "$TOKEN" ]; then REPO_URL="https://oauth2:${TOKEN}@${GITHUB_SERVER_URL#https://}/${{ github.repository }}.git" else @@ -94,3 +93,8 @@ jobs: bash .gitea/ci/sync_thirdparty_skills.sh echo "🎉 Update and sync finished." + + - name: 🧹 Clean temporary repo + if: always() + run: | + rm -rf "$REPO_DIR" diff --git a/templates/ci/gitea/.gitea/workflows/standards-check.yml b/templates/ci/gitea/.gitea/workflows/standards-check.yml index 9d5001d9..4c018272 100644 --- a/templates/ci/gitea/.gitea/workflows/standards-check.yml +++ b/templates/ci/gitea/.gitea/workflows/standards-check.yml @@ -32,7 +32,6 @@ jobs: TOKEN="${{ secrets.WORKFLOW }}" mkdir -p "${{ env.WORKSPACE_DIR }}" REPO_DIR="$(mktemp -d "${{ env.WORKSPACE_DIR }}/${REPO_NAME}.XXXXXX")" - trap 'rm -rf "$REPO_DIR"' EXIT if [ -n "$TOKEN" ]; then REPO_URL="https://oauth2:${TOKEN}@${GITHUB_SERVER_URL#https://}/${{ github.repository }}.git" else @@ -60,3 +59,8 @@ jobs: run: | cd "$REPO_DIR" python3 .gitea/ci/commit_message_lint.py + + - name: 🧹 清理临时仓库 + if: always() + run: | + rm -rf "$REPO_DIR" diff --git a/tests/test_gitea_workflow_bootstrap.py b/tests/test_gitea_workflow_bootstrap.py index 84f8787d..a312be07 100644 --- a/tests/test_gitea_workflow_bootstrap.py +++ b/tests/test_gitea_workflow_bootstrap.py @@ -37,7 +37,7 @@ class GiteaWorkflowBootstrapTests(unittest.TestCase): or 'mkdir -p "${{ env.WORKSPACE_DIR }}"' in text ) self.assertIn('echo "REPO_DIR=$REPO_DIR" >>', text) - self.assertIn("trap", text) + self.assertIn("if: always()", text) self.assertIn('rm -rf "$REPO_DIR"', text) def test_test_workflow_installs_tomli_for_python_template_validation(self):