Generates CHANGELOG.md from conventional commits on main and
release/* branches. Runs in parallel with docker build after
tests pass. Commits back with [skip ci] to avoid loops.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The cargo-binstall prebuilt dx binary requires GLIBC 2.38+
which is unavailable in rust:1.89-bookworm. Build from source
with cargo install instead.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
build.rs no longer panics when bunx is unavailable, allowing
cargo clippy/test to run in CI without bun installed. Added
dx fmt --check to the format job for RSX formatting validation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
GITHUB_REF_NAME resolves to the PR number on pull_request events,
not the branch name. Fetch by commit SHA directly which works for
both push and pull_request triggers.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The actions/checkout action requires Node.js which is unavailable
in the rust:1.89-bookworm container. Use manual git clone with
shallow depth for a Node-free checkout.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The GitHub actions/checkout@v4 requires Node.js which is not
available in the rust container image. Switch to Gitea's native
checkout action that runs without Node.js.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Three-stage CI pipeline with fmt, clippy and audit as parallel
quality gates, tests gated on quality, and Docker build+push
to registry.meghsakha.com on main and release/* branches.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>