From 9e6cbc093ca67c148c5a6702c7ef6e6fa2105425 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 9 Sep 2025 05:28:07 +0000 Subject: [PATCH 1/2] Initial plan From 1a381dfa1f6bb163bc355bf9a84b96c43f949527 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 9 Sep 2025 05:36:42 +0000 Subject: [PATCH 2/2] Update test cleaner workflow to delete branches with prefix test-safe-outputs-custom-engine/ Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- .github/workflows/test-cleaner.yml | 44 +++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-cleaner.yml b/.github/workflows/test-cleaner.yml index e20054b85b2..0494a7faa75 100644 --- a/.github/workflows/test-cleaner.yml +++ b/.github/workflows/test-cleaner.yml @@ -7,7 +7,7 @@ on: workflow_dispatch: permissions: - contents: read + contents: write issues: write pull-requests: write discussions: write @@ -129,3 +129,45 @@ jobs: throw error; } } + + // Delete branches starting with "test-safe-outputs-custom-engine/" + const branchPrefix = "test-safe-outputs-custom-engine/"; + try { + const branchesResponse = await github.rest.repos.listBranches({ + owner: context.repo.owner, + repo: context.repo.repo, + per_page: 100 + }); + + const branchesToDelete = branchesResponse.data.filter( + branch => branch.name.startsWith(branchPrefix) + ); + + for (const branch of branchesToDelete) { + console.log(`Deleting branch: ${branch.name}`); + try { + await github.rest.git.deleteRef({ + owner: context.repo.owner, + repo: context.repo.repo, + ref: `heads/${branch.name}` + }); + } catch (deleteError) { + const errorMessage = deleteError instanceof Error + ? deleteError.message + : String(deleteError); + console.error(`Failed to delete branch ${branch.name}: ${errorMessage}`); + // Continue with other branches even if one fails + } + } + + if (branchesToDelete.length > 0) { + console.log(`Processed ${branchesToDelete.length} branches with prefix "${branchPrefix}"`); + } else { + console.log(`No branches found with prefix "${branchPrefix}"`); + } + + } catch (error) { + const errorMessage = error instanceof Error ? error.message : String(error); + console.error(`Error listing branches: ${errorMessage}`); + // Don't throw error - we want other cleanup operations to continue + }