Files
spigot-quest-board/knowledge/user-stories/us-001-build-and-release-plugin.md
T
dmg f024744440
CI / build (push) Successful in 3m9s
Release / release (push) Successful in 1m41s
docs: complete plugin foundation story
2026-09-04 23:24:15 -04:00

29 lines
1.4 KiB
Markdown

---
type: User Story
title: "US-001: Build and release the plugin"
description: Give maintainers repeatable Purpur builds, automated verification, and versioned public Gitea releases.
status: done
---
# US-001: Build 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 project compiles against Purpur API `26.2.build.2618-stable` using a Java 25 toolchain.
- [x] Compiler lint warnings fail the build.
- [x] Automated JUnit 5 tests run as part of the Gradle check lifecycle.
- [x] Plugin metadata declares the entrypoint, player and admin commands, and permissions.
- [x] Pushes and pull requests build and test the plugin in Gitea Actions.
- [x] Pull requests validate conventional commit messages.
- [x] CI stores a 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] The project is published in the public `dmg/spigot-quest-board` Gitea repository.
- [x] Build files, Gradle wrapper, workflows, and release behavior follow `../spigot-base/` where applicable while using Spigot Quest Board names and identifiers.
## Related
- [User-story catalog](index.md)