@@ -52,43 +52,11 @@ steps:
5252 - VERSION="$(printf '%s' "$CI_COMMIT_TAG" | sed 's/^v//')"
5353 - echo "Releasing version $VERSION"
5454 - mvn -B versions:set -DnewVersion="$VERSION" -DprocessAllModules=true -DgenerateBackupPoms=false
55+ - mvn -B -P release clean deploy -DskipTests -Dgpg.keyname="$GPG_KEY_ID" -Dgpg.passphrase="$MAVEN_GPG_PASSPHRASE" -Dgpg.useagent=false
5556 - |
56- release_log="$(mktemp)"
57- mvn -B -P release clean deploy -DskipTests -Dgpg.keyname="$GPG_KEY_ID" -Dgpg.passphrase="$MAVEN_GPG_PASSPHRASE" -Dgpg.useagent=false | tee "$release_log"
58-
59- deployment_id="$(sed -n 's/.*deploymentId: \([0-9a-fA-F-]\{36\}\).*/\1/p' "$release_log" | tail -n 1)"
60- rm -f "$release_log"
61- if [ -z "$deployment_id" ]; then
62- echo "Could not find Sonatype Central deployment id in Maven output"
63- exit 1
64- fi
65-
66- token="$(printf '%s:%s' "$CENTRAL_USERNAME" "$CENTRAL_PASSWORD" | base64 | tr -d '\n')"
67- status_url="https://central.sonatype.com/api/v1/publisher/status?id=${deployment_id}"
68- publish_url="https://central.sonatype.com/api/v1/publisher/deployment/${deployment_id}"
6957 artifact_url="https://repo.maven.apache.org/maven2/io/keploy/keploy-sdk/${VERSION}/keploy-sdk-${VERSION}.jar"
70- echo "Publishing Sonatype Central deployment $deployment_id"
71-
58+ echo "Waiting for $artifact_url"
7259 for attempt in $(seq 1 60); do
73- status="$(curl -fsS -X POST -H "Authorization: Bearer $token" "$status_url" || true)"
74- state="$(printf '%s' "$status" | sed -n 's/.*"deploymentState"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p')"
75-
76- case "$state" in
77- VALIDATED)
78- curl -fsS -X POST -H "Authorization: Bearer $token" "$publish_url" >/dev/null
79- ;;
80- PENDING|VALIDATING|PUBLISHING|PUBLISHED)
81- ;;
82- FAILED)
83- echo "$status"
84- exit 1
85- ;;
86- *)
87- echo "Unexpected Sonatype Central deployment state: ${state:-unknown}"
88- echo "$status"
89- ;;
90- esac
91-
9260 if curl -fsI "$artifact_url" >/dev/null; then
9361 echo "Released artifact is available on Maven Central"
9462 exit 0
0 commit comments