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
+
+
+