java-publish¶
This action publishes maven artifacts.
Publication
Username and password are not required when publishing to GitHub Packages. (https://maven.pkg.github.com/<your_username>/<your_repository>
)
Signing
To sign the artifacts, MAVEN_GPG_SIGN_PRIVATEKEY
and MAVEN_GPG_SIGN_PASSWORD
must be set.
You can generate a private key using the gpg command line tools:
gpg --full-generate-key
// When asked for the key type, select `RSA (sign only)`.
// For the key size, select `4096`.
// For the expiration date, select `0` to make the key never expire.
// The Key-ID will appear in the output, it will look something like this `A1B2C3D4E5F6G7H8`.
// Use a strong password to protect the key, store it in the `MAVEN_GPG_SIGN_PASSWORD` secret.
gpg --armor --export-secret-keys A1B2C3D4E5F6G7H8 | base64 -w0
// Now store the secret key in the `MAVEN_GPG_SIGN_PRIVATEKEY`
Rules¶
One or multiple of the following rules must be satisfied for the action to be executed.
MODULE_BUILD_SYSTEM == "gradle" && getMapValue(ENV, "MAVEN_REPO_URL") != ""
MODULE_BUILD_SYSTEM == "maven" && getMapValue(ENV, "MAVEN_REPO_URL") != ""
Configuration¶
Property | Description |
---|---|
MAVEN_VERSION |
Overwrites the version of the maven artifact to publish, defaults to the git tag or branch name. |
MAVEN_REPO_URL * |
The URL of the maven repository to publish to. |
MAVEN_REPO_USERNAME |
The username to use for authentication with the maven repository. |
MAVEN_REPO_PASSWORD |
The password to use for authentication with the maven repository. |
MAVEN_GPG_SIGN_PRIVATEKEY |
The ASCII-armored private key (base64 encoded). |
MAVEN_GPG_SIGN_PASSWORD |
The password for the private key. |
MAVEN_GPG_SIGN_KEYID |
The GPG key ID, only required when using sub keys. |
GITHUB_ACTOR |
The GitHub actor to use for pushing the artifacts to a maven repository on GitHub Packages (https://maven.pkg.github.com/). |
GITHUB_TOKEN |
The GitHub token to use for pushing the artifacts to a maven repository on GitHub Packages (https://maven.pkg.github.com/). |