Files
spigot-leaf/design/user-stories/us-007-build-and-release-leaf.md

31 lines
1.6 KiB
Markdown

---
type: User Story
title: "US-007: Build and release Leaf"
description: Give maintainers repeatable Spigot builds, automated verification, and versioned Gitea releases.
status: done
---
# US-007: Build and release Leaf
As a **plugin maintainer**, I want automated builds and releases modeled on Spigot Base so that tested, correctly versioned Leaf artifacts can be distributed consistently.
## Acceptance criteria
- [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.
- [x] Subsequent implementation work is organized into a separate conventional commit for each implemented user story.
- [x] No remote push is performed until the maintainer confirms that the Gitea repository and release token secret are ready.
## Related
- [US-006: Configure and persist Leaf](us-006-configure-and-persist-leaf.md)
- [User-story catalog](index.md)