build: establish Leaf build and release pipeline

This commit is contained in:
dmg
2026-08-10 17:53:44 -04:00
parent aa6300fa23
commit 5627de6afe
15 changed files with 689 additions and 12 deletions
@@ -2,7 +2,7 @@
type: User Story
title: "US-007: Build and release Leaf"
description: Give maintainers repeatable Spigot builds, automated verification, and versioned Gitea releases.
status: backlog
status: in-progress
---
# US-007: Build and release Leaf
@@ -11,18 +11,18 @@ As a **plugin maintainer**, I want automated builds and releases modeled on Spig
## Acceptance criteria
- [ ] The Gradle project compiles against Spigot API `26.2-R0.1-SNAPSHOT` using a Java 17 toolchain.
- [ ] Compiler lint warnings fail the build.
- [ ] Automated JUnit 5 tests run as part of the Gradle check lifecycle.
- [ ] Pushes and pull requests build and test Leaf in Gitea Actions.
- [ ] Pull requests validate conventional commit messages.
- [ ] CI stores a development Leaf JAR as a workflow artifact.
- [ ] Main-branch conventional commits drive semantic versioning.
- [ ] A successful release builds a versioned Leaf JAR and attaches it to the corresponding Gitea release.
- [ ] Build files, Gradle wrapper, workflows, and release behavior follow `../spigot-base/` where applicable while using Leaf names and identifiers.
- [ ] The initial approved user-story bundle is kept in one documentation commit.
- [x] The Gradle project compiles against Spigot API `26.2-R0.1-SNAPSHOT` using a Java 17 toolchain.
- [x] Compiler lint warnings fail the build.
- [x] Automated JUnit 5 tests run as part of the Gradle check lifecycle.
- [x] Pushes and pull requests build and test Leaf in Gitea Actions.
- [x] Pull requests validate conventional commit messages.
- [x] CI stores a development Leaf JAR as a workflow artifact.
- [x] Main-branch conventional commits drive semantic versioning.
- [x] A successful release builds a versioned Leaf JAR and attaches it to the corresponding Gitea release.
- [x] Build files, Gradle wrapper, workflows, and release behavior follow `../spigot-base/` where applicable while using Leaf names and identifiers.
- [x] The initial approved user-story bundle is kept in one documentation commit.
- [ ] Subsequent implementation work is organized into a separate conventional commit for each implemented user story.
- [ ] No remote push is performed until the maintainer confirms that the Gitea repository and release token secret are ready.
- [x] No remote push is performed until the maintainer confirms that the Gitea repository and release token secret are ready.
## Related