Skip to content

feat(release): add LTS version support#1535

Merged
houko merged 12 commits intomainfrom
feat/lts-support
Mar 23, 2026
Merged

feat(release): add LTS version support#1535
houko merged 12 commits intomainfrom
feat/lts-support

Conversation

@houko
Copy link
Copy Markdown
Contributor

@houko houko commented Mar 23, 2026

Summary

  • Add LTS version support to release pipeline (YYYY.M.PATCH-lts)
  • release-lts.yml: auto-create release/ branch + branch protection on .0-lts tag
  • release-docker.yml: tag Docker image with :lts
  • release-create.yml: add LTS label to release notes
  • xtask release: option 4 for LTS, --lts-patch for patches, --dry-run for testing

Version scheme

v2026.3.0-lts     ← initial LTS, creates release/2026.3
v2026.3.1-lts     ← patch 1
v2026.3.2-lts     ← patch 2

Usage

Create initial LTS:

cargo xtask release        # choose 4) lts -> 2026.3.0-lts

Patch an LTS:

git checkout release/2026.3
git cherry-pick <fix-sha>
cargo xtask release --lts-patch

Dry run:

cargo xtask release --dry-run --version "2026.3.0-lts"

Test plan

  • --dry-run prints correct info without changes
  • --lts-patch rejects non-release branches
  • Builds successfully
  • Push .0-lts tag → verify branch creation
  • Verify Docker :lts tag applied
  • Verify release notes contain LTS label

- release-lts.yml: auto-create release/ branch + branch protection on -lts tag
- release-create.yml: add LTS label to release notes
- release-docker.yml: tag Docker image with :lts for LTS releases

Usage:
  git tag v2026.3.2201-lts && git push origin v2026.3.2201-lts
  → creates release/2026.3 branch, Docker :lts tag, LTS release notes

Patch:
  git cherry-pick <fix> on release/2026.3
  git tag v2026.3.2201-lts.1 && git push origin v2026.3.2201-lts.1
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@github-actions github-actions Bot added the area/ci CI/CD and build tooling label Mar 23, 2026
houko added 6 commits March 23, 2026 14:33
LTS tags should be v2026.3-lts (month), not v2026.3.2201-lts (day+hour).
Patches: v2026.3-lts.1, v2026.3-lts.2, etc.
Branch: release/2026.3
cargo xtask release now offers a 4th option:
  4) lts -> YYYY.M-lts (e.g. 2026.3-lts)

LTS releases use month-level version, skip Dev.to article,
and CI auto-creates release/YYYY.M branch on tag push.
LTS versions now use patch numbering:
  v2026.3.0-lts  → initial LTS, creates release/2026.3
  v2026.3.1-lts  → patch 1
  v2026.3.2-lts  → patch 2

xtask release auto-increments the patch number based on existing tags.
Usage on a release/ branch:
  git checkout release/2026.3
  git cherry-pick <fix>
  cargo xtask release --lts-patch

Auto-detects series from branch name, increments patch number,
syncs Cargo.toml version, tags, and pushes.
Prints version, tag, type, and branch info without making any changes.
Skips all preflight checks (dirty worktree, branch) for quick testing.
Works with both regular releases and --lts-patch.
@github-actions github-actions Bot added the area/docs Documentation and guides label Mar 23, 2026
houko added 5 commits March 23, 2026 14:50
- npm: publish with --tag lts (not latest) for LTS releases
- PyPI: convert -lts to .post0 for PEP 440 compliance
- crates.io: -lts is valid semver pre-release, no change needed
- Desktop: assets attach to the release, no tag conflict
PEP 440 has no LTS concept. Strip -lts suffix so v2026.3.0-lts
publishes as 2026.3.0 on PyPI. Users pin LTS via ==2026.3.*
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented Mar 23, 2026

Deploying librefang-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: 7b0ba49
Status: ✅  Deploy successful!
Preview URL: https://0a8cfb35.librefang-docs-web.pages.dev
Branch Preview URL: https://feat-lts-support.librefang-docs-web.pages.dev

View logs

@cloudflare-workers-and-pages
Copy link
Copy Markdown

Deploying librefang with  Cloudflare Pages  Cloudflare Pages

Latest commit: 7b0ba49
Status: ✅  Deploy successful!
Preview URL: https://1b8c46bb.librefang.pages.dev
Branch Preview URL: https://feat-lts-support.librefang.pages.dev

View logs

@houko houko merged commit 0d28da9 into main Mar 23, 2026
11 of 12 checks passed
@houko houko deleted the feat/lts-support branch March 23, 2026 07:02
This was referenced Mar 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/ci CI/CD and build tooling area/docs Documentation and guides

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant