feat: Implement automatic publishing of releases to Maven Central#5
Merged
ChochaNaresh merged 1 commit intomasterfrom Jun 27, 2025
Merged
feat: Implement automatic publishing of releases to Maven Central#5ChochaNaresh merged 1 commit intomasterfrom
ChochaNaresh merged 1 commit intomasterfrom
Conversation
This commit introduces a GitHub Actions workflow to automatically publish releases to Maven Central when a new tag is pushed.
Key changes:
- Added a new `publish` job to the `ci.yml` workflow.
- This job triggers on pushes to tags (e.g., `v1.0.0`, `v1.0.0-alpha1`).
- It extracts the version from the Git tag.
- It detects the release type (alpha, beta, stable) based on the tag name.
- It restores `gradle.properties` from secrets.
- It imports a GPG key for signing artifacts.
- It publishes artifacts to Maven Central using the `publishAllPublicationsToMavenCentral` Gradle task.
- It creates a GitHub Release with the published artifacts and release notes.
Gradle changes:
- Added `com.vanniktech.maven.publish` and `signing` plugins to `libs.versions.toml` and the root `build.gradle.kts`.
- Configured the `maven-publish` plugin in `formz/build.gradle.kts` to:
- Publish to Maven Central.
- Sign all publications.
- Set coordinates, POM details (name, description, license, developers, SCM).
- Removed the previous manual `maven-publish` configuration from `formz/build.gradle.kts`.
- The version name is now derived from the `VERSION_NAME` project property, falling back to a default if not set.
A `secring.gpg` file has been added, presumably containing the GPG secret key for signing, though its content is binary and not displayed in the diff.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This commit introduces a GitHub Actions workflow to automatically publish releases to Maven Central when a new tag is pushed.
Key changes:
publishjob to theci.ymlworkflow.v1.0.0,v1.0.0-alpha1).gradle.propertiesfrom secrets.publishAllPublicationsToMavenCentralGradle task.Gradle changes:
com.vanniktech.maven.publishandsigningplugins tolibs.versions.tomland the rootbuild.gradle.kts.maven-publishplugin informz/build.gradle.ktsto:maven-publishconfiguration fromformz/build.gradle.kts.VERSION_NAMEproject property, falling back to a default if not set.A
secring.gpgfile has been added, presumably containing the GPG secret key for signing, though its content is binary and not displayed in the diff.✨ What's Changed
Describe the changes you made in this PR.
✅ Checklist