Skip to content

Release: LanguageTags.7z packaging + protected-branch fix - #209

Merged
ptr727 merged 2 commits into
mainfrom
develop
Jun 28, 2026
Merged

Release: LanguageTags.7z packaging + protected-branch fix#209
ptr727 merged 2 commits into
mainfrom
develop

Conversation

@ptr727

@ptr727 ptr727 commented Jun 28, 2026

Copy link
Copy Markdown
Owner

Promotes develop to main for a stable release (same 1.5 floor; NBGV advances the patch).

Ships

  • LanguageTags.7z release asset (Bundle release assets into LanguageTags.7z #208): each release attaches one flat, fixed-name LanguageTags.7z bundling the compiled library + .nupkg/.snupkg, giving a deterministic releases/latest/download/LanguageTags.7z URL.
  • Auto-delete-head-branches off: protected branches survive promotions; feature/bot branches clean up via --delete-branch.

Verified on develop

The 1.5.4-g6c6ba047fa prerelease attached a flat LanguageTags.7z (LanguageTags.dll/.pdb/.deps.json/.xml + ptr727.LanguageTags..nupkg/.snupkg, no subdirs), and the NuGet push succeeded.

Merging publishes the stable release with the new 7z asset.

🤖 Generated with Claude Code

Reinstates the v1.3-style release packaging: each GitHub release
attaches a single fixed-name `LanguageTags.7z` bundling the compiled
library (dll, pdb, deps.json, xml) plus the `.nupkg` and `.snupkg`,
instead of the raw `.nupkg`/`.snupkg`. This gives external clients a
deterministic `releases/latest/download/LanguageTags.7z` URL with no
asset-list parsing.

## Changes (build-release-task.yml)
- Build `OutputPath` and `PackageOutputPath` both to the `publish` dir
(library + packages together).
- New `Compress release asset step`: `7z a -t7z .../LanguageTags.7z
.../publish/*` (publish-gated). `ubuntu-24.04` ships `p7zip-full`, so
`7z` needs no install.
- Upload + attach `LanguageTags.7z` (replacing `publish/*`).

NuGet publishing is unchanged (the `.nupkg`/`.snupkg` still push to
NuGet.org). WORKFLOW.md D4.4 / single-target seam / 5A-D4 updated to
describe the 7z bundle.

Verified end-to-end via a `workflow_dispatch` prerelease before
promotion.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings June 28, 2026 02:02

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Promotes develop to main for a stable release while updating the release/promotion mechanics to ship a deterministic LanguageTags.7z asset and avoid deleting protected branches during promotions.

Changes:

  • Update the release workflow to bundle build outputs and NuGet packages into a single fixed-name LanguageTags.7z asset.
  • Disable repo-wide “delete branch on merge” and explicitly delete bot/feature branches via gh pr merge --delete-branch.
  • Update workflow documentation to reflect the single LanguageTags.7z release-asset contract.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
WORKFLOW.md Documents the new fixed-name LanguageTags.7z release asset and updates the operational guarantees/audit checklist accordingly.
repo-config/settings.json Disables repo-wide auto-delete-on-merge to keep protected branches (e.g., promotions) from being deleted.
repo-config/README.md Updates repo-config documentation to match the new branch-deletion approach (--delete-branch instead of global setting).
.github/workflows/merge-bot-pull-request.yml Ensures bot PRs still clean up their head branches by passing --delete-branch.
.github/workflows/build-release-task.yml Produces and publishes LanguageTags.7z as the single release asset, and uploads/downloads it across jobs.

Comment thread .github/workflows/build-release-task.yml
Defensive install of p7zip-full only when 7z is missing, so a future
ubuntu-latest change can't break the release archive step (no-op on
current runners, which ship p7zip-full). Addresses Copilot's recurring
note on the compress step.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ptr727
ptr727 merged commit decfa8d into main Jun 28, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants