Skip to content

Commit

Permalink
build: Improve publishing workflow
Browse files Browse the repository at this point in the history
Signed-off-by: Thomas Vitale <[email protected]>
  • Loading branch information
ThomasVitale committed Jan 28, 2024
1 parent 451a9db commit cc76d92
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 17 deletions.
6 changes: 5 additions & 1 deletion .github/workflows/commit-stage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,11 @@ jobs:

- name: Publish snapshot artifacts
if: ${{ github.ref == 'refs/heads/main' }}
run: ./gradlew snapshot
run: |
VERSION=$(./gradlew properties | grep 'version:' | awk '{print $2}')
if [[ $VERSION == *"SNAPSHOT"* ]]; then
./gradlew publishAllPublicationsToSonatypeSnapshotRepository
fi
env:
MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
MAVEN_CENTRAL_TOKEN: ${{ secrets.MAVEN_CENTRAL_TOKEN }}
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/release-stage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@ on:
- workflow_dispatch

jobs:
build:
name: Build
release:
name: Release
if: ${{ github.ref == 'refs/heads/main' }}
runs-on: ubuntu-22.04
permissions:
contents: read
Expand All @@ -26,7 +27,7 @@ jobs:
run: ./gradlew build

- name: Publish staging artifacts
run: ./gradlew release
run: ./gradlew publishAllPublicationsToSonatypeStagingRepository
env:
MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
MAVEN_CENTRAL_TOKEN: ${{ secrets.MAVEN_CENTRAL_TOKEN }}
Expand Down
14 changes: 1 addition & 13 deletions buildSrc/src/main/groovy/release-conventions.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ javadoc {
options.addStringOption("Xdoclint:none", "-quiet")
}

ext.isReleaseVersion = !version.endsWith("SNAPSHOT")

publishing {
publications {
mavenJava(MavenPublication) {
Expand Down Expand Up @@ -83,19 +81,9 @@ publishing {
}

signing {
required { gradle.taskGraph.hasTask("release") }
required { gradle.taskGraph.hasTask("publishAllPublicationsToSonatypeStagingRepository") }
def signingSecretKey = findProperty('signingSecretKey') ?: System.getenv("SIGNING_SECRET_KEY")
def signingPassphrase = findProperty('signingPassphrase') ?: System.getenv("SIGNING_PASSPHRASE")
useInMemoryPgpKeys(signingSecretKey, signingPassphrase)
sign publishing.publications.mavenJava
}

tasks.register('snapshot') {
onlyIf { !isReleaseVersion }
finalizedBy 'publishAllPublicationsToSonatypeSnapshotRepository'
}

tasks.register('release') {
onlyIf { isReleaseVersion }
finalizedBy 'publishAllPublicationsToSonatypeStagingRepository'
}

0 comments on commit cc76d92

Please sign in to comment.