27 lines
1.3 KiB
Markdown
27 lines
1.3 KiB
Markdown
---
|
|
type: User Story
|
|
title: "US-013: Build, test, and release the plugin"
|
|
description: Give maintainers repeatable builds, automated verification, and versioned Gitea releases.
|
|
status: done
|
|
---
|
|
|
|
# US-013: Build, test, and release the plugin
|
|
|
|
As a **plugin maintainer**, I want automated builds and releases modeled on Spigot Base so that tested, correctly versioned artifacts can be distributed consistently.
|
|
|
|
## Acceptance criteria
|
|
|
|
- [x] The Gradle Kotlin DSL 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 and Mockito tests run as part of the Gradle check lifecycle.
|
|
- [x] Pushes and pull requests build and test the plugin in Gitea Actions.
|
|
- [x] Pull requests validate conventional commit messages.
|
|
- [x] CI stores a `spigot-tyrant` development JAR as a workflow artifact.
|
|
- [x] Main-branch conventional commits drive semantic versioning.
|
|
- [x] A successful release builds a versioned 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 Spigot Tyrant names and identifiers.
|
|
|
|
## Related
|
|
|
|
- [Configure and persist game state](us-012-configure-and-persist-state.md)
|