diff --git a/.github/workflows/mvn-release-prepare-perform.yaml b/.github/workflows/mvn-release-prepare-perform.yaml index 4cfc38c..3a93fc1 100644 --- a/.github/workflows/mvn-release-prepare-perform.yaml +++ b/.github/workflows/mvn-release-prepare-perform.yaml @@ -36,12 +36,12 @@ jobs: distribution: 'temurin' gpg-passphrase: 'GPG_PASSPHRASE' gpg-private-key: '${{ secrets.GPG_PRIVATE_KEY }}' - java-version: '23' - mvn-toolchain-id: 'Temurin 23' + java-version: '25' + mvn-toolchain-id: 'Temurin 25' mvn-toolchain-vendor: 'openjdk' # see ../../pom.xml - server-id: 'sonatype-oss-repository-hosting' # see https://github.com/microbean/microbean-parent/blob/master/pom.xml#L38 - server-password: 'SONATYPE_OSSRH_PASSWORD' - server-username: 'SONATYPE_OSSRH_USERNAME' + server-id: 'central.sonatype.com' + server-password: 'CENTRAL_SONATYPE_COM_PASSWORD' + server-username: 'CENTRAL_SONATYPE_COM_USERNAME' - id: 'setup-askpass' name: 'Step: Set Up GIT_ASKPASS' run: | @@ -58,6 +58,8 @@ jobs: - id: 'mvn-release-prepare' name: 'Step: Maven Release: Prepare, Perform and Publish Site' env: + CENTRAL_SONATYPE_COM_PASSWORD: '${{ secrets.CENTRAL_SONATYPE_COM_PASSWORD }}' + CENTRAL_SONATYPE_COM_USERNAME: '${{ secrets.CENTRAL_SONATYPE_COM_USERNAME }}' DRY_RUN: '${{ inputs.dryRun }}' GIT_ASKPASS: '${{ runner.temp }}/.askpass' GPG_PASSPHRASE: '${{ secrets.GPG_PASSPHRASE }}' @@ -65,9 +67,6 @@ jobs: MVN_TRANSFER_LOGGING: ${{ inputs.mvnTransferLogging && '' || '--no-transfer-progress' }} PUSH_TOKEN : '${{ secrets.PUSH_TOKEN }}' # critical; see ${GIT_ASKPASS} file SCM_GIT_HTTPS_URL: 'scm:git:${{ github.server_url }}/${{ github.repository }}.git' - SONATYPE_OSSRH_PASSWORD: '${{ secrets.SONATYPE_OSSRH_PASSWORD }}' - SONATYPE_OSSRH_STAGING_PROFILE_ID: '${{ vars.SONATYPE_OSSRH_STAGING_PROFILE_ID }}' - SONATYPE_OSSRH_USERNAME: '${{ secrets.SONATYPE_OSSRH_USERNAME }}' shell: 'bash -e {0}' run: > git config --global user.email 'ci@microbean.org' @@ -75,12 +74,12 @@ jobs: git config --global user.name 'microbean' echo "::group::Running mvn prepare" - + ./mvnw --batch-mode ${MVN_DEBUG} --errors ${MVN_TRANSFER_LOGGING} release:prepare -DdryRun="${DRY_RUN}" -Darguments="${MVN_TRANSFER_LOGGING}" -Dscm.url="${SCM_GIT_HTTPS_URL}" - + scm_tag="$(grep '^scm.tag=' release.properties | cut -f 2 -d =)" echo "Prepared ${scm_tag}" >> "${GITHUB_STEP_SUMMARY}" @@ -90,37 +89,13 @@ jobs: echo "::endgroup::" echo "::group::Running mvn perform" - - set +e - { ./mvnw --batch-mode ${MVN_DEBUG} --errors ${MVN_TRANSFER_LOGGING} release:perform - -Darguments="${MVN_TRANSFER_LOGGING} -Dscmpublish.dryRun=${DRY_RUN} -Dscmpublish.pubScmUrl=${SCM_GIT_HTTPS_URL} -DskipTests -DstagingProfileId=${SONATYPE_OSSRH_STAGING_PROFILE_ID}" + -Darguments="${MVN_TRANSFER_LOGGING} -Dscmpublish.dryRun=${DRY_RUN} -Dscmpublish.pubScmUrl=${SCM_GIT_HTTPS_URL} -DskipTests -DautoPublish=true -DwaitUntil=published -DwaitMaxTime=3600" -DdryRun="${DRY_RUN}" -Dgoals="process-classes,post-site,scm-publish:publish-scm,deploy" -Dscm.url="${SCM_GIT_HTTPS_URL}" - | - tee /dev/fd/3 - | - grep --invert-match --silent 'Java class com.sonatype.nexus.staging.api.dto.StagingProfileRepositoryDTO' || cat > /dev/null - ; - } - 3>&1 - exit_codes=(${PIPESTATUS[@]}) + echo "Released ${scm_tag} successfully" >> "${GITHUB_STEP_SUMMARY}"; echo "::endgroup::" - - set -e - - if [ "${exit_codes[2]}" -ne 0 ] ; then - # grep "failed" (found com.sonatype.nexus.staging.api.dto.StagingProfileRepositoryDTO) and mvn failed - echo "Released ${scm_tag} successfully, but verify that the staging repository was successfully released" >> "${GITHUB_STEP_SUMMARY}"; - # Treat this as a successful run - exit 0; - elif [ "${exit_codes[0]}" -eq 0 ] ; then - # mvn succeeded and grep "succeeded" (did not find com.sonatype.nexus.staging.api.dto.StagingProfileRepositoryDTO) - echo "Released ${scm_tag} successfully" >> "${GITHUB_STEP_SUMMARY}"; - fi - - exit "${exit_codes[0]}" diff --git a/README.md b/README.md index 13b964d..4562ea1 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ dependency: org.microbean microbean-proxy - 0.0.4 + 0.0.5 ```