This is an automated email from the ASF dual-hosted git repository.

rustyrazorblade pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cassandra-easy-stress.git


The following commit(s) were added to refs/heads/main by this push:
     new d46f180  Add permanent download URL for test artifacts (#76)
d46f180 is described below

commit d46f1807648420c37445c0dff45c2f6997ff8855
Author: Jon Haddad <[email protected]>
AuthorDate: Tue Nov 11 14:15:51 2025 -0800

    Add permanent download URL for test artifacts (#76)
    
    Implements a rolling release pattern with stable URL for test artifacts:
    
github.com/{repo}/releases/download/latest/cassandra-easy-stress-latest.tar.gz
    
    Clearly marked as test artifacts, not official releases.
    Updated automatically on each main branch build.
---
 .github/workflows/ci.yml | 98 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 98 insertions(+)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index e027678..05d47c7 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -163,3 +163,101 @@ jobs:
           path: build/distributions/*.tar.gz
           retention-days: 90
           if-no-files-found: error
+
+  create-test-artifact:
+    needs: build
+    runs-on: ubuntu-latest
+    if: github.ref == 'refs/heads/main'
+    permissions:
+      contents: write
+
+    steps:
+      - name: Download artifact
+        uses: actions/download-artifact@v4
+        with:
+          name: cassandra-easy-stress-latest
+          path: artifacts
+
+      - name: Prepare release file
+        id: artifact
+        run: |
+          # Find the tarball and rename to consistent name
+          ARTIFACT=$(find artifacts -name "*.tar.gz" -type f | head -n 1)
+
+          if [[ -z "$ARTIFACT" ]]; then
+            echo "ERROR: No tarball artifact found"
+            exit 1
+          fi
+
+          echo "Found artifact: $ARTIFACT"
+
+          # Rename to consistent name for stable URL
+          TARGET_NAME="cassandra-easy-stress-latest.tar.gz"
+          cp "$ARTIFACT" "$TARGET_NAME"
+
+          # Verify file exists and is not empty
+          if [[ ! -f "$TARGET_NAME" || ! -s "$TARGET_NAME" ]]; then
+            echo "ERROR: Failed to create $TARGET_NAME"
+            exit 1
+          fi
+
+          FILE_SIZE=$(du -h "$TARGET_NAME" | cut -f1)
+          echo "Created $TARGET_NAME (size: $FILE_SIZE)"
+          echo "artifact_path=$TARGET_NAME" >> $GITHUB_OUTPUT
+          echo "artifact_size=$FILE_SIZE" >> $GITHUB_OUTPUT
+
+      - name: Delete existing latest release
+        continue-on-error: true
+        env:
+          GH_TOKEN: ${{ github.token }}
+        run: |
+          gh release delete latest --yes --repo ${{ github.repository }} || 
true
+          git push --delete origin latest || true
+
+      - name: Publish test artifact
+        uses: softprops/action-gh-release@v2
+        with:
+          tag_name: latest
+          name: "Test Artifacts (Not an Official Release)"
+          prerelease: true
+          draft: false
+          body: |
+            ## ⚠️ Test Artifacts - Not an Official Release
+
+            **This is NOT an official release.** These are automated test 
artifacts built from the `main` branch for testing and development purposes 
only.
+
+            For official releases, see the [Releases 
page](https://github.com/${{ github.repository }}/releases).
+
+            ### Download URL
+
+            This URL always points to the latest test artifact from main:
+
+            ```
+            https://github.com/${{ github.repository 
}}/releases/download/latest/cassandra-easy-stress-latest.tar.gz
+            ```
+
+            ### Build Information
+
+            - **Artifact Size**: ${{ steps.artifact.outputs.artifact_size }}
+            - **Workflow Run**: ${{ github.server_url }}/${{ github.repository 
}}/actions/runs/${{ github.run_id }}
+            - **Commit**: ${{ github.sha }}
+            - **Java Version**: 17 (Temurin)
+
+            ### Usage
+
+            ```bash
+            # Download and extract
+            curl -L -o cassandra-easy-stress.tar.gz \
+              https://github.com/${{ github.repository 
}}/releases/download/latest/cassandra-easy-stress-latest.tar.gz
+            tar -xzf cassandra-easy-stress.tar.gz
+
+            # Run
+            cd cassandra-easy-stress-*/
+            bin/cassandra-easy-stress --help
+            ```
+
+            ---
+
+            **Warning**: These artifacts are for testing only and may contain 
unreleased, unstable, or experimental features.
+          files: |
+            cassandra-easy-stress-latest.tar.gz


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to