ci: add rustyrazorblade/cassandra-6.0-rustyrazorblade fork to the nightly build matrix - #871
ci: add rustyrazorblade/cassandra-6.0-rustyrazorblade fork to the nightly build matrix#871rustyrazorblade wants to merge 4 commits into
Conversation
…htly build matrix Add repo/ref/version for the fork branch as a 4th matrix entry driving the reusable build-cassandra-ref.yml engine, and make repo explicit on the existing 3 apache/cassandra entries so the matrix stays self-documenting now that not every build shares the same source repo. Extend the publish-nightly release notes (tracked-build list + Stable Download URLs) to include the new 6.0-rustyrazorblade-HEAD artifact.
Code Coverage
|
ReviewSmall, well-scoped CI change — explicit Code quality
Potential gaps (not blockers, just flagging)
Bugs/correctness
Test coverage
Security
Overall: looks good to merge as-is. The |
…rk build option Adds a version: "6.0-rustyrazorblade" entry to packer/cassandra/cassandra_versions.yaml so the lab's own AMI-bake install path (install_cassandra.sh) can build this fork directly on the packer host via git clone + ant, alongside the existing 6.0-HEAD nightly tarball entry. This is separate from the GitHub Actions build matrix wiring in the previous commit, which validates the fork builds/boots via this repo's own CI.
ReviewSmall, well-scoped, self-documenting CI/config change. Confirmed the mechanics line up end-to-end:
Two minor, non-blocking notes:
No security, correctness, or test-coverage blockers — the packer YAML addition is data-only (no new code paths), and the workflow diff is additive to an already-tested, parameterized reusable workflow. The PR body's caveat that no AMI bake has been run yet is a fair and clearly-flagged limitation rather than a hidden risk. |
ReviewSmall, mostly mechanical PR (matrix wiring + docs), but I found one issue in the third commit that's worth resolving before the next AMI bake. Likely build failure: git-clone AMI-bake path hardcodes JDK 11, but 6.0-line Cassandra needs 17+
- version: "6.0-rustyrazorblade"
java: "21"
python: "3.11.9"
url: "https://github.com/rustyrazorblade/cassandra.git"
branch: "cassandra-6.0-rustyrazorblade"This is the first entry in the repo's history with a local ANT_FLAGS
ANT_FLAGS=$(yq '.[] | select(.version == env(version)) | .ant_flags // ""' "$YAML")
# all builds work with JDK 11 for now
...
ant realclean >"$ant_log" 2>&1 && ant -Dno-checkstyle=true $ANT_FLAGS >>"$ant_log" 2>&1 || exit 1The per-version This repo's own and the new There's also a The PR description acknowledges this gap ("Validated structurally only... No AMI bake was run"), and there's no automated coverage that would catch it — Minor / worth confirming intent
Everything else looks solid
|
…t a git-branch ant build install_cassandra.sh's git-clone+ant path (url ending in .git + branch:) is exercised for the first time ever by this entry and failed in the packer/AMI environment (ant -Dno-checkstyle=true, default target) even though the same branch/commit was already validated via a direct build-cassandra-ref.yml dispatch using ant artifacts -Dno-checkstyle=true -Dant.gen-doc.skip=true on GitHub Actions. That dispatch already produced a working tarball release (cassandra-6.0-alpha2-8c88f0159960) with a passing CQL smoke test. Point at that proven artifact instead of re-building from source on the packer host.
|
Review Overall this is a clean, well-scoped CI/config/docs change (making 1. - version: "6.0-rustyrazorblade"
url: https://github.com/rustyrazorblade/easy-db-lab/releases/download/cassandra-6.0-alpha2-8c88f0159960/apache-cassandra-6.0-alpha2-8c88f0159960-bin.tar.gzThat release tag ( Since commit 1 of this same PR adds If tracking the branch was intended, this should point at 2. PR description says this enables a git-clone+ant build; the code doesn't do that The commit message / PR body says the new entry lets 3. Minor: new packer entry wasn't exercised by the existing packer test harness The PR description says this was "Validated structurally only (YAML parses ...). No AMI bake was run." The repo already has 4. Minor: nightly matrix now builds from a second repo under Not a blocker since Nits
|
Summary
repo:field to all 3 existing matrix entries (previously implicitapache/cassandradefault) so the matrix is self-documenting once entries diverge.rustyrazorblade/cassandra, refcassandra-6.0-rustyrazorblade, stable_version6.0-rustyrazorblade-HEAD.publish-nightlyrelease notes body to list the new build in both the tracked-build bullet list and the Stable Download URLs block.Validated by manually dispatching the reusable
build-cassandra-ref.ymlengine directly against the fork (repo=rustyrazorblade/cassandra, ref=cassandra-6.0-rustyrazorblade) — build + Docker image + CQL smoke test all passed: https://github.com/rustyrazorblade/easy-db-lab/actions/runs/30406460393Second commit: wire the fork into the lab's own AMI-bake install path
version: "6.0-rustyrazorblade"entry topacker/cassandra/cassandra_versions.yaml(java 21, python 3.11.9), pointingurl/branchatrustyrazorblade/cassandra/cassandra-6.0-rustyrazorblade.install_cassandra.shgit-clone andant-build this branch directly when baking the lab's Cassandra AMI (easy-db-lab build-cassandra), the same git-build mechanism already used for custom builds documented indocs/user-guide/installing-cassandra.md.versionkey collision with existing entries). No AMI bake was run as part of this change — that's a separate, deliberately deferred step.Third commit: document the new version in the supported-versions table
6.0-rustyrazorbladeto the "Supported Versions" table indocs/user-guide/installing-cassandra.md, positioned after6.0-HEAD, labeled as a personal fork build (not an official/nightly build) to avoid confusion with the6.0-HEADnightly row above it.docs/user-guide/tutorial.md,docs/reference/commands.md) so they stay consistent with the table.