How to ship a new build of Void Client to end users.
Source lives in the private repo 2011Scape/void-client. Releases
(obfuscated jar + SHA-256 checksum) are published to the public repo
2011Scape/void-client-releases. End users download from the public repo.
Releases are cut by pushing a semver tag (vX.Y.Z). The
release workflow then:
- Builds the shadow jar (
./gradlew :client:shadowJar). - Runs ProGuard with
client/proguard-rules.proto obfuscate default-package project classes. Libraries are kept intact. - Computes
sha256sumof the resulting jar. - Creates a release on
void-client-releasesviagh release create, attaching the jar and the.sha256file.
-
Bump
version = "X.Y.Z"inclient/build.gradle.kts. -
Commit and push to
main(normal PR flow). -
Tag the commit and push the tag:
git tag -a vX.Y.Z -m "vX.Y.Z" git push origin vX.Y.Z -
Watch the run at https://github.com/2011Scape/void-client/actions. The workflow fails fast if the tag does not match the gradle version.
-
Once green, the release appears at https://github.com/2011Scape/void-client-releases/releases.
End users can verify a release jar against its checksum:
sha256sum --check void-client-X.Y.Z.jar.sha256The workflow needs a fine-grained personal access token stored as the
RELEASES_TOKEN secret on the void-client repo.
Required token scope:
- Resource owner:
2011Scape - Repository access: only
void-client-releases - Permissions:
Contents: Read and write
Rotate the token by regenerating it at
https://github.com/settings/personal-access-tokens and updating the
RELEASES_TOKEN secret under Settings → Secrets and variables → Actions.