feat(release): add force option to delete/recreate dangling tags and releases (#7119) - #7350
Open
Hugo Dupras (jabesq) wants to merge 2 commits into
Open
feat(release): add force option to delete/recreate dangling tags and releases (#7119)#7350Hugo Dupras (jabesq) wants to merge 2 commits into
Hugo Dupras (jabesq) wants to merge 2 commits into
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a force mode to the GitHub Actions-based connector release workflows to help recover from partially failed releases (dangling releases/tags) and updates bulk release resolution to skip connectors that lack a manifest.
Changes:
- Add
forceinput propagation and overwrite/cleanup logic to the per-connector release workflow. - Add
forcesupport to the bulk orchestrator workflow, including dispatch + tracking label updates. - Update bulk connector discovery to exclude connectors missing
__metadata__/connector_manifest.json.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| .github/workflows/release-connector.yml | Adds force input handling and introduces overwrite-guard + failure cleanup behavior during release creation. |
| .github/workflows/release-bulk-connectors.yml | Adds force input wiring, dispatch flags, and tracking-title updates for bulk runs. |
| .github/scripts/bulk_release.py | Skips connectors without a connector_manifest.json during “all connectors” discovery. |
Suppressed comments (3)
.github/workflows/release-connector.yml:590
- This condition prints a warning that it is “skipping” XTM Hub publish, but then exits 1 (failing the release). If publishing is intended to be blocking, this should be an error message (and not described as skipping).
if [ -z "$XTM_HUB_TOKEN" ]; then
echo "::warning::XTM_HUB_TOKEN secret not set -- skipping XTM Hub publish"
exit 1
fi
.github/workflows/release-bulk-connectors.yml:231
- The job summary text says force mode will delete/recreate tags, but the per-connector workflow reuses existing tags. Consider updating the wording to avoid implying the tag will be recreated (and potentially moved).
if [ "$FORCE" = "true" ]; then
echo "⚠️ **Force mode** — any existing tag/GitHub Release at this version will be deleted and recreated for every connector."
echo ""
fi
.github/workflows/release-connector.yml:781
- This step says it is “skipping” when the manifest is missing, but it exits 1. Since the whole job is marked
continue-on-error: true, returning 0 here would better match the intent (skip without surfacing a red failed step).
if [ ! -f "$MANIFEST" ]; then
echo "⚠️ Manifest not found: $MANIFEST — skipping"
exit 1
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
533
to
+536
| if [ ! -f "$MANIFEST" ]; then | ||
| echo "patched=false" >> "$GITHUB_OUTPUT" | ||
| echo "⚠️ Manifest not found: $MANIFEST — skipping version patch" | ||
| exit 0 | ||
| exit 1 |
Comment on lines
560
to
563
| if [ ! -f "$MANIFEST" ]; then | ||
| echo "::warning::Manifest not found for ${CONNECTOR_DIR} — skipping fragment generation" | ||
| exit 0 | ||
| exit 1 | ||
| fi |
Comment on lines
+141
to
+144
| if not ( | ||
| connector_path / "__metadata__" / "connector_manifest.json" | ||
| ).exists(): | ||
| continue |
Comment on lines
+89
to
+95
| force: | ||
| description: > | ||
| Force — for every dispatched connector, delete any existing tag | ||
| and/or GitHub Release for this version before recreating them from | ||
| scratch. Use this to recover from connectors left with a dangling | ||
| tag/release after a partially failed release. | ||
| required: false |
Hugo Dupras (jabesq)
force-pushed
the
feat/7119-release-connector-force-option
branch
from
August 21, 2026 16:02
cebeee5 to
edf8774
Compare
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.
Proposed changes
forceoption to the release-connector workflow that deletes and recreates an existing GitHub Release/tag for a version, to recover from a partially failed release (e.g. manifest fragment generation or XTM Hub publish failure) that left a dangling tag/release behindRelated issues
Checklist
Further comments
A follow-up stacked PR (manifest-fragment min_version fix) branches off this one; merge this PR first.