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
+6
View File
@@ -14,3 +14,9 @@
- Administration uses the permission-aware `/leaf` command tree with autocomplete.
- Builds and releases follow the neighboring Spigot Base Gradle and Gitea pipeline.
- The design bundle is committed together; later implementation work is committed separately for each user story.
### Implementation started
- Established the Java 17 Gradle project, strict compilation, JUnit test lifecycle, Leaf plugin metadata, Gradle wrapper, and Gitea CI and semantic-release workflows.
- Verified the initial pipeline with `./gradlew clean check jar` and produced `build/libs/leaf-0.1.0-SNAPSHOT.jar`.
- US-007 remains in progress until the story-by-story implementation commit requirement has been verified.
@@ -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