From 08c503a90e1b07c501db1757bac486f18e02fbeb Mon Sep 17 00:00:00 2001 From: Antonio Perez Dieppa Date: Tue, 17 Mar 2026 16:36:39 +0800 Subject: [PATCH 01/13] chore: bump version to 1.0.0-beta.1 --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index f70511a..d22427c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -6,7 +6,7 @@ plugins { group = "io.flamingock" -version = "1.0.0-SNAPSHOT" +version = "1.0.0-beta.1" val flamingockVersion = "1.2.0-beta.1" From d9e8485c1584f67eee28ac86da0e67576ab13064 Mon Sep 17 00:00:00 2001 From: Antonio Perez Dieppa Date: Tue, 17 Mar 2026 16:59:20 +0800 Subject: [PATCH 02/13] ci: trying release action --- .claude/settings.local.json | 3 +- build.gradle.kts | 91 ++++++++++++++++++++++++++++++++++--- 2 files changed, 87 insertions(+), 7 deletions(-) diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 3dc1e0d..43574bc 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -34,7 +34,8 @@ "Bash(done)", "Bash(grep:*)", "Bash(ls:*)", - "Bash(xargs:*)" + "Bash(xargs:*)", + "Bash(./gradlew tasks:*)" ] } } diff --git a/build.gradle.kts b/build.gradle.kts index d22427c..b70f7f1 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -2,6 +2,7 @@ plugins { `java-library` `maven-publish` id("com.diffplug.spotless") version "6.25.0" + id("org.jreleaser") version "1.15.0" } @@ -37,7 +38,8 @@ java { toolchain { languageVersion.set(JavaLanguageVersion.of(8)) } - + withSourcesJar() + withJavadocJar() } tasks.withType().configureEach { @@ -67,19 +69,43 @@ publishing { description.set("MongoDB change templates for document database operations using Flamingock") url.set("https://flamingock.io") + organization { + name.set("Flamingock") + url.set("https://flamingock.io") + } + + issueManagement { + system.set("GitHub") + url.set("https://github.com/flamingock/flamingock-java-template-mongodb/issues") + } + licenses { license { - name.set("Apache License, Version 2.0") + name.set("Apache-2.0") url.set("https://www.apache.org/licenses/LICENSE-2.0") } } developers { developer { - id.set("flamingock") - name.set("Flamingock Team") - organization.set("Flamingock") - organizationUrl.set("https://flamingock.io") + id.set("dieppa") + name.set("Antonio Perez Dieppa") + email.set("dieppa@flamingock.io") + } + developer { + id.set("osantana") + name.set("Oscar Santana") + email.set("osantana@flamingock.io") + } + developer { + id.set("bercianor") + name.set("Berciano Ramiro") + email.set("bercianor@flamingock.io") + } + developer { + id.set("dfrigolet") + name.set("Daniel Frigolet") + email.set("dfrigolet@flamingock.io") } } @@ -91,6 +117,11 @@ publishing { } } } + repositories { + maven { + url = uri(layout.buildDirectory.dir("staging-deploy")) + } + } } val licenseHeaderText = """/* @@ -130,3 +161,51 @@ afterEvaluate { description = "Check license headers (manual task - not part of build)" } } + +jreleaser { + project { + inceptionYear = "2024" + author("dieppa") + author("osantana") + author("bercianor") + author("dfrigolet") + description = "MongoDB change templates for document database operations using Flamingock" + } + signing { + active = org.jreleaser.model.Active.ALWAYS + armored = true + } + deploy { + maven { + mavenCentral { + create("sonatype") { + active = org.jreleaser.model.Active.ALWAYS + url = "https://central.sonatype.com/api/v1/publisher" + stagingRepository("build/staging-deploy") + } + } + } + } + release { + github { + overwrite = true + changelog { + formatted = org.jreleaser.model.Active.ALWAYS + preset = "conventional-commits" + } + prerelease { + pattern = ".*(?:beta|alpha|rc|snapshot).*" + } + } + } +} + +tasks.register("createStagingDeployFolder") { + doLast { + mkdir(layout.buildDirectory.dir("staging-deploy")) + } +} + +tasks.matching { it.name == "publish" }.configureEach { + finalizedBy("createStagingDeployFolder") +} From 5032452a446ec586fac6115504cdbf025a510575 Mon Sep 17 00:00:00 2001 From: Antonio Perez Dieppa Date: Tue, 17 Mar 2026 17:32:47 +0800 Subject: [PATCH 03/13] ci: trying release action --- .claude/settings.local.json | 5 ++++- .github/workflows/release.yml | 10 +++++++--- build.gradle.kts | 3 +++ infra/release-with-retry.sh | 19 +++++++++++++++++++ 4 files changed, 33 insertions(+), 4 deletions(-) create mode 100755 infra/release-with-retry.sh diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 43574bc..b80e5bf 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -35,7 +35,10 @@ "Bash(grep:*)", "Bash(ls:*)", "Bash(xargs:*)", - "Bash(./gradlew tasks:*)" + "Bash(./gradlew tasks:*)", + "Bash(./gradlew jreleaserConfig 2>&1 | tail -30)", + "Bash(find:*)", + "Bash(chmod:*)" ] } } diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6b3e5b0..1a4d24c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -73,12 +73,16 @@ jobs: JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME }} JRELEASER_MAVENCENTRAL_PASSWORD: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_PASSWORD }} - - name: Release to Maven Central portal - run: ./gradlew jreleaserFullRelease + - name: Deploy to Maven Central portal + run: ./infra/release-with-retry.sh 5 20 env: - JRELEASER_GITHUB_TOKEN: ${{ secrets.FLAMINGOCK_JRELEASER_GITHUB_TOKEN }} JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME }} JRELEASER_MAVENCENTRAL_PASSWORD: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_PASSWORD }} JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PUBLIC_KEY }} JRELEASER_GPG_SECRET_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_SECRET_KEY }} JRELEASER_GPG_PASSPHRASE: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PASSPHRASE }} + + - name: Create GitHub release + run: ./gradlew jreleaserRelease --no-daemon --stacktrace + env: + JRELEASER_GITHUB_TOKEN: ${{ secrets.FLAMINGOCK_JRELEASER_GITHUB_TOKEN }} diff --git a/build.gradle.kts b/build.gradle.kts index b70f7f1..031ac3a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -182,6 +182,9 @@ jreleaser { active = org.jreleaser.model.Active.ALWAYS url = "https://central.sonatype.com/api/v1/publisher" stagingRepository("build/staging-deploy") + retryDelay = 20 + maxRetries = 90 + applyMavenCentralRules = true } } } diff --git a/infra/release-with-retry.sh b/infra/release-with-retry.sh new file mode 100755 index 0000000..e3b4c34 --- /dev/null +++ b/infra/release-with-retry.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +maxAttempts=${1:-3} +waitingSeconds=${2:-20} + +echo "Releasing bundle to Central Portal with max attempts[$maxAttempts] and $waitingSeconds seconds delay" +for (( i=1; i<=maxAttempts; i++ )); do + if ./gradlew jreleaserDeploy --no-daemon --stacktrace; then + exit 0 + fi + if [ "$i" -eq "$maxAttempts" ]; then + echo "Failed release after $maxAttempts maxAttempts" + exit 1 + fi + echo "Retrying in $waitingSeconds seconds..." + sleep "$waitingSeconds" + echo + echo "********************************************************************************** RELEASE ATTEMPT($((i + 1))) **********************************************************************************" +done From 13f98143d8888b148213641dd04fe1454d996141 Mon Sep 17 00:00:00 2001 From: Antonio Perez Dieppa Date: Tue, 17 Mar 2026 19:48:24 +0800 Subject: [PATCH 04/13] ci: trying release action --- build.gradle.kts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build.gradle.kts b/build.gradle.kts index 031ac3a..923ae9e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -182,6 +182,8 @@ jreleaser { active = org.jreleaser.model.Active.ALWAYS url = "https://central.sonatype.com/api/v1/publisher" stagingRepository("build/staging-deploy") + connectTimeout = 60 + readTimeout = 600 retryDelay = 20 maxRetries = 90 applyMavenCentralRules = true From 926b7d9da546216b540f21033a12fd3a44b426b2 Mon Sep 17 00:00:00 2001 From: Antonio Perez Dieppa Date: Tue, 17 Mar 2026 21:35:02 +0800 Subject: [PATCH 05/13] ci: trying release action --- .github/workflows/release.yml | 2 +- build.gradle.kts | 6 +- infra/release-with-retry.sh | 139 +++++++++++++++++++++++++++++++--- 3 files changed, 130 insertions(+), 17 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1a4d24c..302f89d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -74,7 +74,7 @@ jobs: JRELEASER_MAVENCENTRAL_PASSWORD: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_PASSWORD }} - name: Deploy to Maven Central portal - run: ./infra/release-with-retry.sh 5 20 + run: ./infra/release-with-retry.sh 900 100 20 env: JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME }} JRELEASER_MAVENCENTRAL_PASSWORD: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_PASSWORD }} diff --git a/build.gradle.kts b/build.gradle.kts index 923ae9e..53ba568 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -182,11 +182,9 @@ jreleaser { active = org.jreleaser.model.Active.ALWAYS url = "https://central.sonatype.com/api/v1/publisher" stagingRepository("build/staging-deploy") - connectTimeout = 60 - readTimeout = 600 - retryDelay = 20 - maxRetries = 90 applyMavenCentralRules = true + maxRetries = 90 + retryDelay = 20 } } } diff --git a/infra/release-with-retry.sh b/infra/release-with-retry.sh index e3b4c34..16283cb 100755 --- a/infra/release-with-retry.sh +++ b/infra/release-with-retry.sh @@ -1,19 +1,134 @@ #!/bin/bash +set -euo pipefail -maxAttempts=${1:-3} -waitingSeconds=${2:-20} +# ------------------------------------------------------------------- +# Maven Central release script with curl-based upload fallback. +# +# JReleaser's Feign HTTP client has a hard read-timeout (~6 min) that +# cannot be reliably overridden via Gradle DSL for large bundles. +# This script first attempts jreleaserDeploy; if that fails, it falls +# back to uploading the bundle via curl with a generous timeout, +# then polls the Central Portal for deployment status. +# ------------------------------------------------------------------- -echo "Releasing bundle to Central Portal with max attempts[$maxAttempts] and $waitingSeconds seconds delay" -for (( i=1; i<=maxAttempts; i++ )); do - if ./gradlew jreleaserDeploy --no-daemon --stacktrace; then - exit 0 +UPLOAD_TIMEOUT=${1:-900} # curl upload timeout in seconds (default 15 min) +MAX_STATUS_CHECKS=${2:-100} # max status poll attempts +STATUS_CHECK_INTERVAL=${3:-20} # seconds between status polls + +CENTRAL_API="https://central.sonatype.com/api/v1/publisher" + +# Credentials from environment (set by GitHub Actions) +USERNAME="${JRELEASER_MAVENCENTRAL_USERNAME:?JRELEASER_MAVENCENTRAL_USERNAME not set}" +PASSWORD="${JRELEASER_MAVENCENTRAL_PASSWORD:?JRELEASER_MAVENCENTRAL_PASSWORD not set}" +AUTH_TOKEN=$(echo -n "${USERNAME}:${PASSWORD}" | base64) + +# --- Step 1: Try jreleaserDeploy (signs artifacts and creates bundle) --- +echo "==> Attempting jreleaserDeploy (signs + bundles + uploads)..." +if ./gradlew jreleaserDeploy --no-daemon --stacktrace; then + echo "==> jreleaserDeploy succeeded" + exit 0 +fi + +echo "==> jreleaserDeploy failed (likely upload timeout). Falling back to curl upload." + +# --- Step 2: Locate the bundle created by JReleaser --- +BUNDLE_DIR="build/jreleaser/deploy/mavenCentral/sonatype" +BUNDLE=$(find "$BUNDLE_DIR" -name "*.zip" -type f 2>/dev/null | head -1) + +if [ -z "$BUNDLE" ]; then + echo "ERROR: No bundle zip found in $BUNDLE_DIR" + echo "Contents of build/jreleaser/deploy/:" + find build/jreleaser/deploy/ -type f 2>/dev/null || true + exit 1 +fi + +echo "==> Found bundle: $BUNDLE" + +# --- Step 3: Upload bundle via curl with retries --- +upload_bundle() { + local attempt=$1 + echo "==> Upload attempt $attempt — timeout ${UPLOAD_TIMEOUT}s" + + HTTP_RESPONSE=$(curl -s -w "\n%{http_code}" \ + --max-time "$UPLOAD_TIMEOUT" \ + --connect-timeout 60 \ + -X POST "$CENTRAL_API/upload" \ + -H "Authorization: Bearer $AUTH_TOKEN" \ + -F "bundle=@$BUNDLE;type=application/octet-stream" \ + -F "publishingType=AUTOMATIC" \ + 2>&1) || true + + HTTP_CODE=$(echo "$HTTP_RESPONSE" | tail -1) + RESPONSE_BODY=$(echo "$HTTP_RESPONSE" | sed '$d') + + echo "==> Upload response: HTTP $HTTP_CODE" + + if [ "$HTTP_CODE" = "201" ]; then + DEPLOYMENT_ID="$RESPONSE_BODY" + echo "==> Upload successful. Deployment ID: $DEPLOYMENT_ID" + return 0 + else + echo "==> Upload failed: $RESPONSE_BODY" + return 1 fi - if [ "$i" -eq "$maxAttempts" ]; then - echo "Failed release after $maxAttempts maxAttempts" +} + +DEPLOYMENT_ID="" +for attempt in 1 2 3 4 5; do + if upload_bundle "$attempt"; then + break + fi + if [ "$attempt" -eq 5 ]; then + echo "ERROR: All upload attempts failed" exit 1 fi - echo "Retrying in $waitingSeconds seconds..." - sleep "$waitingSeconds" - echo - echo "********************************************************************************** RELEASE ATTEMPT($((i + 1))) **********************************************************************************" + echo "==> Retrying upload in 30 seconds..." + sleep 30 done + +# --- Step 4: Poll for deployment status --- +if [ -z "$DEPLOYMENT_ID" ]; then + echo "ERROR: No deployment ID obtained" + exit 1 +fi + +echo "==> Polling deployment status (max $MAX_STATUS_CHECKS checks, every ${STATUS_CHECK_INTERVAL}s)..." + +for (( i=1; i<=MAX_STATUS_CHECKS; i++ )); do + sleep "$STATUS_CHECK_INTERVAL" + + STATUS_RESPONSE=$(curl -s \ + --max-time 60 \ + -X POST "$CENTRAL_API/status?id=$DEPLOYMENT_ID" \ + -H "Authorization: Bearer $AUTH_TOKEN" \ + -H "Accept: application/json" \ + 2>&1) || true + + DEPLOYMENT_STATE=$(echo "$STATUS_RESPONSE" | grep -o '"deploymentState":"[^"]*"' | head -1 | cut -d'"' -f4) + + echo " [$i/$MAX_STATUS_CHECKS] Deployment state: ${DEPLOYMENT_STATE:-UNKNOWN}" + + case "$DEPLOYMENT_STATE" in + PUBLISHED) + echo "==> Deployment published successfully!" + exit 0 + ;; + FAILED) + echo "ERROR: Deployment failed on Maven Central" + echo "Response: $STATUS_RESPONSE" + exit 1 + ;; + VALIDATED|PUBLISHING) + echo " Deployment is progressing..." + ;; + PENDING|VALIDATING) + echo " Still processing..." + ;; + *) + echo " Unexpected state, continuing to poll..." + ;; + esac +done + +echo "ERROR: Timed out waiting for deployment status after $MAX_STATUS_CHECKS checks" +exit 1 From 351c9d85f21d547124a368c476aeb748561be2d1 Mon Sep 17 00:00:00 2001 From: davidfrigolet Date: Wed, 18 Mar 2026 08:49:02 +0000 Subject: [PATCH 06/13] fix: release action --- .github/workflows/release.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 302f89d..7f11f7e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -86,3 +86,8 @@ jobs: run: ./gradlew jreleaserRelease --no-daemon --stacktrace env: JRELEASER_GITHUB_TOKEN: ${{ secrets.FLAMINGOCK_JRELEASER_GITHUB_TOKEN }} + JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PUBLIC_KEY }} + JRELEASER_GPG_SECRET_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_SECRET_KEY }} + JRELEASER_GPG_PASSPHRASE: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PASSPHRASE }} + JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME }} + JRELEASER_MAVENCENTRAL_PASSWORD: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_PASSWORD }} From 411fce49c297b496e9e44030ff1a60329f5f7b14 Mon Sep 17 00:00:00 2001 From: davidfrigolet Date: Wed, 18 Mar 2026 09:03:07 +0000 Subject: [PATCH 07/13] chore: bump version --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 53ba568..57cdfdf 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,7 +9,7 @@ plugins { group = "io.flamingock" version = "1.0.0-beta.1" -val flamingockVersion = "1.2.0-beta.1" +val flamingockVersion = "1.2.0-beta.2" repositories { mavenLocal() From a247777181d7ccf0d47338fbf13019c37e81bada Mon Sep 17 00:00:00 2001 From: davidfrigolet Date: Wed, 18 Mar 2026 09:06:18 +0000 Subject: [PATCH 08/13] chore: bump version --- build.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 57cdfdf..3659869 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,9 +7,9 @@ plugins { group = "io.flamingock" -version = "1.0.0-beta.1" +version = "1.0.0-beta.2" -val flamingockVersion = "1.2.0-beta.2" +val flamingockVersion = "1.2.0-beta.1" repositories { mavenLocal() From 80693e7a4466f5bb94e401a4227f667057f2da2a Mon Sep 17 00:00:00 2001 From: davidfrigolet Date: Wed, 18 Mar 2026 09:28:16 +0000 Subject: [PATCH 09/13] chore: bump version --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 3659869..e595d08 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,7 +7,7 @@ plugins { group = "io.flamingock" -version = "1.0.0-beta.2" +version = "1.0.0-beta.3" val flamingockVersion = "1.2.0-beta.1" From d7f66af00dc0541c4648970c24edd93d90230020 Mon Sep 17 00:00:00 2001 From: davidfrigolet Date: Wed, 18 Mar 2026 10:20:49 +0000 Subject: [PATCH 10/13] chore: bump version --- .github/workflows/release.yml | 3 +-- build.gradle.kts | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7f11f7e..6860ac2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -76,6 +76,7 @@ jobs: - name: Deploy to Maven Central portal run: ./infra/release-with-retry.sh 900 100 20 env: + JRELEASER_DEPLOY_MAVEN_MAVENCENTRAL_SONATYPE_ACTIVE: ALWAYS JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME }} JRELEASER_MAVENCENTRAL_PASSWORD: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_PASSWORD }} JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PUBLIC_KEY }} @@ -89,5 +90,3 @@ jobs: JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PUBLIC_KEY }} JRELEASER_GPG_SECRET_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_SECRET_KEY }} JRELEASER_GPG_PASSPHRASE: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PASSPHRASE }} - JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME }} - JRELEASER_MAVENCENTRAL_PASSWORD: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_PASSWORD }} diff --git a/build.gradle.kts b/build.gradle.kts index e595d08..58d6991 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,7 +7,7 @@ plugins { group = "io.flamingock" -version = "1.0.0-beta.3" +version = "1.0.0-beta.4" val flamingockVersion = "1.2.0-beta.1" @@ -179,7 +179,7 @@ jreleaser { maven { mavenCentral { create("sonatype") { - active = org.jreleaser.model.Active.ALWAYS + active = org.jreleaser.model.Active.NEVER url = "https://central.sonatype.com/api/v1/publisher" stagingRepository("build/staging-deploy") applyMavenCentralRules = true From 09669b793b22dfd48043d245ffe4096d7fe32e06 Mon Sep 17 00:00:00 2001 From: davidfrigolet Date: Wed, 18 Mar 2026 10:39:16 +0000 Subject: [PATCH 11/13] chore: bump version --- .github/workflows/release.yml | 2 +- build.gradle.kts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6860ac2..e88a608 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -76,7 +76,6 @@ jobs: - name: Deploy to Maven Central portal run: ./infra/release-with-retry.sh 900 100 20 env: - JRELEASER_DEPLOY_MAVEN_MAVENCENTRAL_SONATYPE_ACTIVE: ALWAYS JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME }} JRELEASER_MAVENCENTRAL_PASSWORD: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_PASSWORD }} JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PUBLIC_KEY }} @@ -86,6 +85,7 @@ jobs: - name: Create GitHub release run: ./gradlew jreleaserRelease --no-daemon --stacktrace env: + JRELEASER_DEPLOY_MAVEN_MAVENCENTRAL_SONATYPE_ACTIVE: NEVER JRELEASER_GITHUB_TOKEN: ${{ secrets.FLAMINGOCK_JRELEASER_GITHUB_TOKEN }} JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PUBLIC_KEY }} JRELEASER_GPG_SECRET_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_SECRET_KEY }} diff --git a/build.gradle.kts b/build.gradle.kts index 58d6991..39cd028 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,7 +7,7 @@ plugins { group = "io.flamingock" -version = "1.0.0-beta.4" +version = "1.0.0-beta.5" val flamingockVersion = "1.2.0-beta.1" @@ -179,7 +179,7 @@ jreleaser { maven { mavenCentral { create("sonatype") { - active = org.jreleaser.model.Active.NEVER + active = org.jreleaser.model.Active.ALWAYS url = "https://central.sonatype.com/api/v1/publisher" stagingRepository("build/staging-deploy") applyMavenCentralRules = true From 2623da174a68218ad3970dce4ddc7de93dfa041c Mon Sep 17 00:00:00 2001 From: davidfrigolet Date: Wed, 18 Mar 2026 11:20:25 +0000 Subject: [PATCH 12/13] chore: bump version --- .github/workflows/release.yml | 2 ++ build.gradle.kts | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e88a608..6ebba69 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -87,6 +87,8 @@ jobs: env: JRELEASER_DEPLOY_MAVEN_MAVENCENTRAL_SONATYPE_ACTIVE: NEVER JRELEASER_GITHUB_TOKEN: ${{ secrets.FLAMINGOCK_JRELEASER_GITHUB_TOKEN }} + JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME }} + JRELEASER_MAVENCENTRAL_PASSWORD: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_PASSWORD }} JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PUBLIC_KEY }} JRELEASER_GPG_SECRET_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_SECRET_KEY }} JRELEASER_GPG_PASSPHRASE: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PASSPHRASE }} diff --git a/build.gradle.kts b/build.gradle.kts index 39cd028..71dec0e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,7 +7,7 @@ plugins { group = "io.flamingock" -version = "1.0.0-beta.5" +version = "1.0.0-beta.6" val flamingockVersion = "1.2.0-beta.1" From 63c165f0584ed35c8fa4737c3c104797488ba986 Mon Sep 17 00:00:00 2001 From: davidfrigolet Date: Wed, 18 Mar 2026 11:43:10 +0000 Subject: [PATCH 13/13] chore: bump version --- .github/workflows/release.yml | 17 ++++++++++++++--- build.gradle.kts | 2 +- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6ebba69..87317ef 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -82,13 +82,24 @@ jobs: JRELEASER_GPG_SECRET_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_SECRET_KEY }} JRELEASER_GPG_PASSPHRASE: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PASSPHRASE }} - - name: Create GitHub release - run: ./gradlew jreleaserRelease --no-daemon --stacktrace + - name: Generate changelog + run: ./gradlew jreleaserChangelog --no-daemon env: - JRELEASER_DEPLOY_MAVEN_MAVENCENTRAL_SONATYPE_ACTIVE: NEVER JRELEASER_GITHUB_TOKEN: ${{ secrets.FLAMINGOCK_JRELEASER_GITHUB_TOKEN }} JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME }} JRELEASER_MAVENCENTRAL_PASSWORD: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_PASSWORD }} JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PUBLIC_KEY }} JRELEASER_GPG_SECRET_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_SECRET_KEY }} JRELEASER_GPG_PASSPHRASE: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PASSPHRASE }} + + - name: Create GitHub release + run: | + VERSION=$(grep '^version' build.gradle.kts | head -1 | sed 's/.*"\(.*\)".*/\1/') + PRERELEASE_FLAG=$(echo "$VERSION" | grep -qiE '(beta|alpha|rc|snapshot)' && echo "--prerelease" || echo "") + gh release create "v${VERSION}" \ + --title "Release v${VERSION}" \ + --notes-file build/jreleaser/release/CHANGELOG.md \ + $PRERELEASE_FLAG \ + --repo "${{ github.repository }}" + env: + GH_TOKEN: ${{ secrets.FLAMINGOCK_JRELEASER_GITHUB_TOKEN }} diff --git a/build.gradle.kts b/build.gradle.kts index 71dec0e..17756de 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,7 +7,7 @@ plugins { group = "io.flamingock" -version = "1.0.0-beta.6" +version = "1.0.0-beta.7" val flamingockVersion = "1.2.0-beta.1"