- Work from a clean
mainbranch. - Ensure CI is green.
- Verify local checks:
./mvnw -B -ntp -Pintegration-tests,platform-acceptance verifyUse update_version.sh to bump major, minor, or patch:
./update_version.sh patchThe script updates:
pom.xml(revisionvia Mavenversions:set-property; source of truth for every module)dataprovider-platform-velocity/src/main/java/nl/hauntedmc/dataprovider/platform/velocity/VelocityDataProvider.java
Manual step:
- Update README dependency version examples if needed.
Then it commits and tags (vX.Y.Z) locally.
Push when ready:
git push && git push origin vX.Y.ZWorkflow: .github/workflows/release-package.yml
Trigger:
- push tag matching
v*(for examplev1.20.5)
What it does:
- Checks that the tag matches
revision. - Runs the full reactor release gate on the tag checkout: unit tests, container-backed backend integration tests, Checkstyle, JaCoCo thresholds, dependency convergence, upper-bound dependency checks, duplicate-class checks, shaded platform packaging, and the API-only Paper and Velocity consumer fixtures.
- As the final reactor module, downloads the pinned Paper and Velocity runtime builds with SHA-256 verification, starts each real platform with its bundled DataProvider JAR, and validates MySQL, MongoDB, Redis, Redis messaging, configuration reload, per-provider thread cleanup, and clean shutdown.
- Uses Maven
deployAtEnd, so it deploys the already-verified Maven artifacts only after every gate succeeds; the acceptance fixtures themselves are not published. - Uploads the Paper and Velocity bundled jars and creates a GitHub Release with them.
The platform acceptance runner is at
dataprovider-platform-acceptance/run-platform-acceptance.sh. It uses the pinned runtime
build properties and SHA-256 checksums in the root POM; update the corresponding version,
build, and checksum together whenever the Paper or Velocity API dependency is advanced.
- Repository:
https://maven.pkg.github.com/HauntedMC/DataProvider - GroupId:
nl.hauntedmc.dataprovider - ArtifactIds:
dataprovider-api,dataprovider-core,dataprovider-platform-common,dataprovider-platform-paper, anddataprovider-platform-velocity - Version: release version (without leading
v)