The release path mirrors the proven integrallis/mfcqi-java pipeline: Gradle
stages Maven publications, JReleaser signs and validates one bundle, and the
Central Publisher Portal publishes it.
Version 0.1.x publishes the Apache-licensed CPU libraries and adapters defined
by publishedProjects in build.gradle.kts. FSL modules, applications, Studio,
benchmarks, the optimizer, and the server client are deliberately excluded from
Maven Central until they have independent release contracts.
- Set a non-snapshot version in
gradle.properties. - Update
CHANGELOG.md, commit, and push tomain. - Run Actions → Release with
dry_runenabled. - Inspect the JReleaser validation output and staged POMs.
- Run Release again with
dry_rundisabled.
Maven Central versions are immutable. Use skip_deploy only when Central
already succeeded and the GitHub release needs to be recreated.
MAVENCENTRAL_USERNAMEMAVENCENTRAL_PASSWORDGPG_PUBLIC_KEYGPG_SECRET_KEYGPG_PASSPHRASE
These are the same secret names used by mfcqi-java. The com.integrallis
namespace and GPG identity must already be configured in Central.
./gradlew clean spotlessCheck build :vectors-bench:recallGate complianceCheck publish \
-x :docs:buildArtifacts are written to build/staging-deploy. A real release must be built
from a clean commit with a non-SNAPSHOT version.