This is an automated email from the ASF dual-hosted git repository.
leerho pushed a commit to branch update_workflows
in repository https://gitbox.apache.org/repos/asf/datasketches-memory.git
The following commit(s) were added to refs/heads/update_workflows by this push:
new 56a47005 Update with stageReleaseSources.yml
56a47005 is described below
commit 56a470056f2b868385a5eb55ca9d346d4805f644
Author: Lee Rhodes <[email protected]>
AuthorDate: Fri May 22 14:49:29 2026 -0700
Update with stageReleaseSources.yml
---
.github/workflows/stageReleaseSources.yml | 92 +++++++++++++++++++++++++++++++
1 file changed, 92 insertions(+)
diff --git a/.github/workflows/stageReleaseSources.yml
b/.github/workflows/stageReleaseSources.yml
new file mode 100644
index 00000000..c3d67f36
--- /dev/null
+++ b/.github/workflows/stageReleaseSources.yml
@@ -0,0 +1,92 @@
+name: Stage Release Candidate Source Assets (Manual Trigger)
+
+# file: placeholder.yml (temporary)
+# This workflow acts as Phase 1 of your official Release Candidate process.
+# It handles the clean compilation, license verification, and source packaging
+# on a cloud runner, delivering a pristine ZIP for local signing.
+
+on:
+ workflow_dispatch:
+
+jobs:
+ assemble-source-candidate:
+ runs-on: ubuntu-22.04
+ permissions:
+ contents: read
+
+ steps:
+ # 1. Checkout the clean working workspace context
+ - name: 1. Checkout Branch Context
+ uses: actions/checkout@v5
+ with:
+ ref: ${{ github.ref }}
+ fetch-depth: 0
+
+ # 2. Set up the foundational Java runtime environment
+ - name: 2. Provision JDK 25 for Build Execution
+ uses: actions/setup-java@v5
+ with:
+ java-version: '25'
+ distribution: 'temurin'
+ java-package: jdk
+ architecture: x64
+ cache: 'maven'
+
+ # 3. Dynamically extract the project version from the root pom.xml
+ - name: 3. Extract POM Project Version
+ id: parse-version
+ run: |
+ POM_VERSION=$(mvn help:evaluate -Dexpression=project.version -q
-DforceStdout)
+ echo "Target Release Version: $POM_VERSION"
+ echo "POM_VERSION=$POM_VERSION" >> $GITHUB_ENV
+
+ # 4. Audit license headers across all source files and submodules
+ - name: 4. Execute Apache RAT License Audit
+ run: |
+ echo "Running corporate license header checks..."
+ mvn apache-rat:check -N
+
+ # Diagnostic Step: Print the target report if the audit drops dead
+ - name: 4b. Diagnostic - Display RAT Failure Report
+ if: always()
+ run: |
+ echo "Checking for java11 submodule RAT report..."
+ if [ -f datasketches-memory-java11/target/rat.txt ]; then
+ echo "=== DATASKETCHES-MEMORY-JAVA11 RAT.TXT ==="
+ cat datasketches-memory-java11/target/rat.txt
+ else
+ echo "No submodule rat.txt report found."
+ fi
+
+ # 5. Clean workspace and assemble the official source release container
+ - name: 5. Build Apache Source Release Archive
+ run: |
+ echo "Assembling project distribution ZIP..."
+ mvn clean assembly:single
+
+ # 6. Relocate and calculate the SHA-512 cryptographic checksum string
+ - name: 6. Stage Deliverables and Compute Checksums
+ run: |
+ # Create a temporary staging area for the artifact collection
+ mkdir -p staging_dir
+
+ # Define standard names based on the extracted POM version
+ SRC_ZIP="datasketches-memory-${{ env.POM_VERSION }}-src.zip"
+
+ echo "Locating generated assembly asset..."
+ cp target/datasketches-memory-${{ env.POM_VERSION
}}-source-release.zip staging_dir/$SRC_ZIP
+
+ cd staging_dir
+ echo "Generating SHA-512 checksum signature file..."
+ sha512sum $SRC_ZIP > $SRC_ZIP.sha512
+
+ echo "Verification Checksum Content:"
+ cat $SRC_ZIP.sha512
+
+ # 7. Package and upload the staged bundle as a secure workflow archive
+ - name: 7. Upload Release Candidate Assets for Local Signing
+ uses: actions/upload-artifact@v4
+ with:
+ name: datasketches-memory-RC-source-bundle
+ path: staging_dir/
+ retention-days: 15
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]