diff options
| author | Sho Sakuma <me@m1sk9.dev> | 2026-09-28 21:35:52 +0900 |
|---|---|---|
| committer | Sho Sakuma <me@m1sk9.dev> | 2026-09-28 21:35:52 +0900 |
| commit | 9bb1623c32c80da097f423c1ae3c96aa11372a43 (patch) | |
| tree | 325901af2abe104ae24fb23b96de99256efdda5e /website/src/docs/developers | |
| parent | 780caea1697827548f2fd08ae2eb85f973187248 (diff) | |
| download | LunaticChat-9bb1623c32c80da097f423c1ae3c96aa11372a43.tar.gz LunaticChat-9bb1623c32c80da097f423c1ae3c96aa11372a43.tar.bz2 LunaticChat-9bb1623c32c80da097f423c1ae3c96aa11372a43.zip | |
ci: tag each release with exactly one platform
A vX.Y.Z tag used to ship both JARs under the Paper version number, so the
Velocity version never appeared in a tag. Changelog download links guessed
paper/ and velocity/ tags that did not exist and returned 404, and the same
JAR resurfaced under several releases.
Paper now releases on vX.Y.Z and Velocity on velocity/vX.Y.Z, which matches
the CHANGELOG.md headings one to one. Paper keeps the bare form rather than
moving to paper/vX.Y.Z because the update checker in already-deployed Paper
builds only understands that form. Both workflows call a shared reusable
workflow, since the two had drifted into near-identical copies.
Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'website/src/docs/developers')
| -rw-r--r-- | website/src/docs/developers/resource.md | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/website/src/docs/developers/resource.md b/website/src/docs/developers/resource.md index 67e6d57..ea8ad76 100644 --- a/website/src/docs/developers/resource.md +++ b/website/src/docs/developers/resource.md @@ -30,17 +30,19 @@ Paper and Velocity carry separate version numbers and can be released independen ## Release workflows -The release target switches based on the tag pattern. +One tag releases exactly one platform. The tag pattern selects which. | Workflow | Trigger tag | Build target | Version validation | |----------|-------------|--------------|--------------------| -| `release.yaml` | `v*` | Both Paper + Velocity | extract both versions from gradle.properties | -| `release-paper.yaml` | `paper/v*` | Paper only | requires the tag to match `paperVersion` | -| `release-velocity.yaml` | `velocity/v*` | Velocity only | requires the tag to match `velocityVersion` | - -- Common flow: `validate` (check for a duplicate existing release) → `build` (mise + Gradle setup, `shadowJar`) → `release` (`gh release create --draft` + publish to Modrinth) -- The per-platform workflows (paper / velocity) differ from `release.yaml` in requiring a strict match between the tag and `gradle.properties` -- Modrinth game-versions are Paper=`26.2.x` (loaders: paper, folia) and Velocity=`1.21.x` + `26.1.x` + `26.2.x` (loader: velocity) +| `release-paper.yaml` | `vX.Y.Z` | Paper only | requires the tag to match `paperVersion` | +| `release-velocity.yaml` | `velocity/vX.Y.Z` | Velocity only | requires the tag to match `velocityVersion` | + +- Releasing both at once means pushing both tags together (`git push origin v1.5.0 velocity/v1.4.0`). Each produces its own GitHub Release +- Paper keeps the bare `vX.Y.Z` tag because the update checker in already-deployed Paper builds only understands that form +- Before v1.5.0, a `vX.Y.Z` tag released both platforms (`v1.0.0`, `v1.3.0`, `v1.4.0`), and some Paper-only releases used `paper/vX.Y.Z`. Those tags are kept as they are +- Both workflows call the shared `_release.yaml`: `validate` (tag format, match with `gradle.properties`, duplicate release check) → `build` (mise + Gradle setup, `shadowJar`) → `release` (`gh release create --draft` + publish to Modrinth) +- The GitHub Release is created as a draft. Publish a Velocity release with `--latest=false`, so that the repository's latest release stays the Paper one +- Modrinth game-versions are Paper=`26.2.x` (loaders: paper, folia) and Velocity=`1.21.x` + `26.1.x` + `26.2.x` (loader: velocity), set in each caller workflow ## CI |
