diff --git a/.github/scripts/make-release-artifact-bundle.sh b/.github/scripts/make-release-artifact-bundle.sh new file mode 100755 index 00000000..bf7df1a8 --- /dev/null +++ b/.github/scripts/make-release-artifact-bundle.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +set -o errexit +set -o pipefail +set -o nounset + +# Copyright (c) 2024-2024 Deephaven Data Labs and Patent Pending + +# Create a bundle suitable for uploading artifacts to oss.sonatype including pom, sources, javadoc, +# artifact and signatures for each. This script expects to run in the directory where the +# release branch has been checked out +# +# ex. .github/scripts/make-release-bundle.sh 0.33.4 keyfile.asc + +if [[ $# != 2 ]]; then + echo "$0: Missing release version or signature file argument" + exit 1 +fi + +VERSION=$1 +KEY_FILE=$2 +ARTIFACT=deephaven-benchmark-${VERSION} + +sed -i "s;1.0-SNAPSHOT;${VERSION};" pom.xml +mvn -B install --file pom.xml + +cp pom.xml ${ARTIFACT}.pom +cp target/${ARTIFACT}.jar . +cp target/${ARTIFACT}-sources.jar . +cp target/${ARTIFACT}-javadoc.jar . + +gpg --import ${KEY_FILE} +gpg -ab ${ARTIFACT}.pom +gpg -ab ${ARTIFACT}.jar +gpg -ab ${ARTIFACT}-javadoc.jar +gpg -ab ${ARTIFACT}-sources.jar + +jar -cvf ../${ARTIFACT}-bundle.jar ${ARTIFACT}.pom ${ARTIFACT}.pom.asc ${ARTIFACT}.jar ${ARTIFACT}.jar.asc ${ARTIFACT}-javadoc.jar ${ARTIFACT}-javadoc.jar.asc ${ARTIFACT}-sources.jar ${ARTIFACT}-sources.jar.asc + diff --git a/.github/scripts/make-release-distro.sh b/.github/scripts/make-release-distro.sh index 3fa79def..ef4146ee 100755 --- a/.github/scripts/make-release-distro.sh +++ b/.github/scripts/make-release-distro.sh @@ -37,8 +37,6 @@ cp ${DISTRO_SOURCE}/* ${DISTRO_DEST} rm ${DISTRO_DEST}/dependency-pom.xml cp target/${ARTIFACT}.jar ${DISTRO_DEST}/libs/ cp target/${ARTIFACT}-tests.jar ${DISTRO_DEST}/libs/ -cp target/${ARTIFACT}-sources.jar ${DISTRO_DEST}/libs/ -cp target/${ARTIFACT}-javadoc.jar ${DISTRO_DEST}/libs/ echo "VERSION=${RELEASE_VERSION}" > ${DISTRO_DEST}/.env cd ${DISTRO_DEST} diff --git a/.github/workflows/publish-benchmarks.yml b/.github/workflows/publish-benchmarks.yml index e406ce44..0a317ca1 100644 --- a/.github/workflows/publish-benchmarks.yml +++ b/.github/workflows/publish-benchmarks.yml @@ -74,12 +74,12 @@ jobs: cp ${LATEST_DIR}/.github/resources/integration-docker-compose.yml docker-compose.yml docker compose up -d - - name: Build and Install Release Artifacts Locally + - name: Build Release Artifacts Bundle working-directory: ${{env.RELEASE_DIR}} - run: | - sed -i "s;1.0-SNAPSHOT;${VERSION};" pom.xml - mvn -B install --file pom.xml - docker compose down + run: | + echo "${{secrets.BENCHMARK_SIGNING_KEY}}" > signing-key.txt + ${LATEST_DIR}/.github/scripts/make-release-artifact-bundle.sh ${VERSION} signing-key.txt + docker compose down - name: Build Release Distribution working-directory: ${{env.RELEASE_DIR}} @@ -102,9 +102,8 @@ jobs: path: | deephaven-benchmark-${{env.VERSION}}.tar deephaven-benchmark-${{env.VERSION}}-results.tar + deephaven-benchmark-${{env.VERSION}}-bundle.jar release-notes.md - deephaven-benchmark-${{env.VERSION}}-sources.jar - deephaven-benchmark-${{env.VERSION}}-javadoc.jar - name: Publish Github Release if: ${{ github.ref_name == 'main' }} diff --git a/pom.xml b/pom.xml index 39eeb309..5d16badb 100644 --- a/pom.xml +++ b/pom.xml @@ -6,6 +6,31 @@ deephaven-benchmark 1.0-SNAPSHOT deephaven-benchmark + Deephaven Benchmark + https://github.com/deephaven/benchmark + + + The Apache License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + repo + + + + + deephaven + Deephaven Data Labs + https://deephaven.io/ + + developer + + + + + scm:git:git@github.com:deephaven/benchmark.git + scm:git:git@github.com:deephaven/benchmark.git + https://github.com/deephaven/benchmark + + @@ -105,19 +130,19 @@ - org.apache.maven.plugins - maven-source-plugin - 3.3.1 - - - attach-sources - install - - jar-no-fork - - - - + org.apache.maven.plugins + maven-source-plugin + 3.3.1 + + + attach-sources + install + + jar-no-fork + + + + org.apache.maven.plugins maven-javadoc-plugin @@ -128,14 +153,14 @@ true - - attach-javadocs - install - - jar - - - + + attach-javadocs + install + + jar + + +