Repository navigation
Align prune defaults to delete all non-running runs - #102
Merged
Merged
Conversation
Remove the --all flag and change prune's default behavior to delete every non-running run in the selected project scope, not just those that finished successfully. Add run status classification (done, stopped, missing, corrupt) to make the selection more transparent. Update delete to include the resolved project name in its output. Provide a helpful hint when non-running runs exist in other projects.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Remove the
--allflag fromdraft pruneand change its default behavior to delete every non-running run in the selected project scope, not just successfully finished ones.Add a run status classification system (
classify_run) that categorizes runs asrunning,done,stopped,missing, orcorrupt. Use this to make the selection process and output more transparent: the selection list now shows each run's status and is grouped by status (done → stopped → missing → corrupt) with descending run-id within groups.Update the summary line format from
deleted N; skipped M active; selected Ktodeleted N; skipped M active, printed on all code paths including no-op and dry-run. When the current project has no non-running runs but other projects do, provide a helpful hint mentioning the count and--all-projectsflag (suppressed when--projectis explicit).Update
draft deleteoutput to include the resolved project name:deleted run <id> (project: <project>). Update README documentation accordingly.Test plan
test_prune_status_grouping_order: verifies selection groups by status and sorts run-ids descending within each grouptest_prune_all_projects_hint_fires: confirms hint appears when current project is empty and other projects have non-running runstest_prune_all_projects_hint_suppressed_under_project_flag: confirms hint does not appear when--projectis explicittest_prune_status_column_in_selection_line: verifies status column appears in selection outputtest_prune_all_flag_rejected: confirms parser rejects--allwith non-zero exittest_prune_all_includes_incomplete→test_prune_default_includes_incomplete: verifies default now includes non-finished runstest_prune_all_skips_active→test_prune_default_skips_active: verifies default still skips active runstest_prune_no_runs: assertion changed to new summary formattest_prune_yes_deletes_run: assertion changed to new summary formattest_command_delete_with_delete_branch_flagandtest_command_delete_without_flag_skips_branch_deletion: assertions verify project name in outputtest_prune_one_finished_one_in_progress_default_selection: verifies both finished and partial runs appear in selection with correct statusesinclude_allparameter