From 67bea58c172c823a4cf1a93fac6b1eaf95870d20 Mon Sep 17 00:00:00 2001 From: Peter Samarin Date: Tue, 19 Aug 2025 23:31:43 +0200 Subject: [PATCH 1/2] chore: generate a maven bundle release for manual upload --- .github/workflows/prerelease.yaml | 9 ++++++++- deploy/deploy.sh | 5 +++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/prerelease.yaml b/.github/workflows/prerelease.yaml index 8930c9df8..d2956d17d 100644 --- a/.github/workflows/prerelease.yaml +++ b/.github/workflows/prerelease.yaml @@ -122,7 +122,7 @@ jobs: name: jazzer path: _tmp/ - - name: Run Deployment + - name: Generate Jazzer Bundle for Upload to Maven Central env: RELEASE_SIGNING_KEY_ID: ${{ secrets.RELEASE_SIGNING_KEY_ID }} RELEASE_SIGNING_KEY_PRIVATE: ${{ secrets.RELEASE_SIGNING_KEY_PRIVATE }} @@ -130,6 +130,13 @@ jobs: MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }} run: JAZZER_JAR_PATH="$(pwd)/_tmp/jazzer.jar" bazel run deploy + - name: Upload Jazzer Bundle to Github Artifacts + uses: actions/upload-artifact@v4 + with: + name: jazzer-maven-central-bundle + path: _tmp/release + if-no-files-found: error + create_release: needs: build_release runs-on: ubuntu-22.04 diff --git a/deploy/deploy.sh b/deploy/deploy.sh index ccaa86d9e..d9c9723a0 100755 --- a/deploy/deploy.sh +++ b/deploy/deploy.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# Copyright 2024 Code Intelligence GmbH +# Copyright 2025 Code Intelligence GmbH # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -57,7 +57,8 @@ java=$(rlocation "$java_rlocationpath") "$java" -jar "${JAZZER_JAR_PATH}" --version 2>&1 | grep '^Jazzer v' || \ fail "JAZZER_JAR_PATH is not a valid jazzer.jar" -MAVEN_REPO=https://oss.sonatype.org/service/local/staging/deploy/maven2 +# Local release for manual upload to central.sonatype.com +MAVEN_REPO=file://`pwd`/_tmp/release # The Jazzer jar itself bundles native libraries for multiple architectures and thus can't be built # on the local machine. It is obtained from CI and passed in via JAZZER_JAR_PATH. From 22568228fd5a63bcdf9da4c776c3cb2ea7805e00 Mon Sep 17 00:00:00 2001 From: Peter Samarin Date: Wed, 20 Aug 2025 11:20:48 +0200 Subject: [PATCH 2/2] chore: update publishing instructions --- CONTRIBUTING.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 78c2cd546..b7799ca19 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -117,7 +117,10 @@ Run `./format.sh` to format all source files in the way enforced by the "Check f ## Releasing (CI employees only) 1. Push a tag of the form `v1.2.3` to trigger the "Prerelease" GitHub Actions workflow. -2. Wait for the workflow to finish (about 10 minutes) -3. When successful and happy with the results, log into https://oss.sonatype.org, select all staging repositories (usually one, can be more) under "Staging Repositories" and "Close" them. - Wait and refresh, then select them again and "Release" them. -4. Release the draft Github release. This will automatically create a tag, push the docker images and deploy the docs (can take about a few minutes to appear at [jazzer-docs]( https://codeintelligencetesting.github.io/jazzer-docs)). +2. Wait for the workflow to finish (about 10 minutes). +3. Download the artifact called "jazzer-maven-central-bundle" from the prerelease workflow run. +4. Log into https://central.sonatype.com/publishing and click on "Publish Component". +5. In the dialog that follows, under "Upload Your File", select the downloaded artifact. The "Deployment Name" doesn't matter. Click "Publish Component". +6. Refresh the page, and you should see "Deployment Info" with status "VALIDATED". +7. Click "Publish" to publish the component to Maven Central and wait for the status to change to "PUBLISHED" (a refresh or two may be necessary). +8. Release the draft Github release. This will automatically create a tag, push the docker images and deploy the docs (can take about a few minutes to appear at [jazzer-docs]( https://codeintelligencetesting.github.io/jazzer-docs)).