summaryrefslogtreecommitdiff
path: root/website/src/docs
diff options
context:
space:
mode:
authorSho Sakuma <me@m1sk9.dev>2026-09-28 21:51:58 +0900
committerGitHub <noreply@github.com>2026-09-28 21:51:58 +0900
commita1679bdd2a4904b288964f0b90ee9af569aed5c2 (patch)
tree19c3f1b3702787566e2a2f1e4bda5b815ef6c2cb /website/src/docs
parentfc308febfe4463686a180bf94bfcd14b56194d3b (diff)
parent5137d1ec51ba1ae609603a928d4a55ff3d499a0c (diff)
downloadLunaticChat-a1679bdd2a4904b288964f0b90ee9af569aed5c2.tar.gz
LunaticChat-a1679bdd2a4904b288964f0b90ee9af569aed5c2.tar.bz2
LunaticChat-a1679bdd2a4904b288964f0b90ee9af569aed5c2.zip
Merge pull request #317 from m1sk9/ci/release-tag-scheme
Tag each release with exactly one platform (Paper: vX.Y.Z, Velocity: velocity/vX.Y.Z)
Diffstat (limited to 'website/src/docs')
-rw-r--r--website/src/docs/developers/resource.md18
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..614597a 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
+- Up to v1.4.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