Gate asset delete on the release create/refresh condition - #218
Merged
Conversation
Fixes #217. The github-release job's "Delete consumed release asset artifacts" step gated only on expect_release_assets, but the "Create GitHub release" step also gates on exists=='false' || workflow_dispatch. On a scheduled re-run where the tag already exists, create is skipped but the freshly built release-asset-<branch>-* artifacts were still deleted, even though nothing was published/refreshed this run. Gate the delete on the same condition so it only runs when a release was actually created/refreshed; otherwise retention-days:1 reaps the artifacts at end of run. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adjusts the build-release-task.yml reusable workflow so the cleanup step that deletes release-asset-<branch>-* workflow artifacts is gated by the same condition as the GitHub release creation/refresh step, avoiding deletion on no-op scheduled runs where the tag already exists.
Changes:
- Gate the "Delete consumed release asset artifacts" step on
(release does not exist) OR (manual refresh condition), matching the create-release step logic. - Expand the surrounding comment to document why the delete is now gated.
ptr727
added a commit
to ptr727/LanguageTags
that referenced
this pull request
Jun 26, 2026
…condition Pull down the template fix for the edge case reported as ProjectTemplate#217: the surgical delete step now gates on the same `exists=='false' || workflow_dispatch` condition as the create step, so a scheduled re-run on an existing tag no longer deletes the freshly built artifacts (retention-days: 1 reaps them instead). Re-synced verbatim from template PR ptr727/ProjectTemplate#218, which also clears the condensed-comment drift from the original #195 snippet. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ptr727
added a commit
that referenced
this pull request
Jul 4, 2026
Promote the accumulated `develop` work to `main`. Twelve changes since the last promotion: - Add `WORKFLOW.md`: workflow style, architecture, behavioral contract, test methodology (#223) - Use NBGV `IGNORE_GITHUB_REF` instead of the ineffective `GITHUB_REF` override (#222) - Skip validate-release on smoke builds (#220) - Gate asset delete on the release create/refresh condition (#218) - Ship branch rulesets as versioned JSON in the re-sync / drift loop (#212) - Clean up transfer artifacts surgically at consumption, not blanket-delete (#216) - Version each publish leg against its own branch; validate at entry (#215) - Consolidate workspace configurations into a unified ProjectTemplate workspace (#210) - Template convergence barrier: absorb pins, generic release + docker-readme, carry-whole-file (#207) - Key merge-bot concurrency on PR number, not `github.ref` (#206) - Codify orchestrated re-sync personas and full-replacement rule (#205) - Lead action pins; affirm pattern-based artifact handoff (#204) 🤖 Generated with [Claude Code](https://claude.com/claude-code)
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.
Problem
Closes #217. In
build-release-task.yml'sgithub-releasejob the two paired steps had mismatched conditions:if: exists == 'false' || workflow_dispatchif: expect_release_assetsOn a scheduled run where the release tag already exists (no new commits), the create step is skipped but
build-nugetlibrarystill uploadedrelease-asset-<branch>-*, so the delete step removed the freshly built artifacts even though nothing was published/refreshed this run. Low impact (retention-days: 1means nothing is permanently lost) but the delete's premise ("durable copies now on the release") doesn't hold for that run.Fix
Gate the delete on the same condition as the create step:
So it only deletes when a release was actually created/refreshed; otherwise the fresh artifacts stay for the run and
retention-days: 1reaps them.Surfaced via Copilot during the downstream re-sync of #213/#214 (ptr727/LanguageTags#195) and reported upstream rather than diverged locally.
Verification
actionlint(Docker) clean; CRLF preserved.🤖 Generated with Claude Code