fix(ci): green the pipeline — rustfmt ruby.rs + gate Windows-only path test #5

Merged
buildagent merged 2 commits from fix/ci-green into master 2026-06-04 16:11:39 +02:00
Member

CI was red on every recent run. Two independent causes:

  1. fmt gate (the ~16s fast-fails, introduced by the Ruby work): crates/plugins/src/ruby.rs wasn't rustfmt-clean. cargo fmt --all fixes it — no logic change.
  2. test gate (pre-existing — red since before the Ruby work; even the May-27 README-only commits failed here): path_display::strip_verbatim_path_preserves_components asserts component-wise Windows path semantics (E:\foo\bar having 3 components), which only hold where \ is a separator. On the Linux CI runner that string is a single component, so starts_with fails. Gated #[cfg(windows)]; cross-platform prefix-strip behavior stays covered by display_path_strips_drive_prefix.

clippy (-D warnings) was already passing.

Verified locally on linux-x86_64 (= the CI image's platform): fmt , clippy -D warnings , cargo test --workspace --no-fail-fast → 33 suites, 0 failures.

CI-only/test-only change; no version bump.

🤖 Generated with Claude Code

CI was red on every recent run. Two independent causes: 1. **fmt gate** (the ~16s fast-fails, introduced by the Ruby work): `crates/plugins/src/ruby.rs` wasn't rustfmt-clean. `cargo fmt --all` fixes it — no logic change. 2. **test gate** (**pre-existing** — red since before the Ruby work; even the May-27 README-only commits failed here): `path_display::strip_verbatim_path_preserves_components` asserts component-wise **Windows** path semantics (`E:\foo\bar` having 3 components), which only hold where `\` is a separator. On the Linux CI runner that string is a single component, so `starts_with` fails. Gated `#[cfg(windows)]`; cross-platform prefix-strip behavior stays covered by `display_path_strips_drive_prefix`. clippy (`-D warnings`) was already passing. Verified locally on linux-x86_64 (= the CI image's platform): **fmt ✅, clippy -D warnings ✅, `cargo test --workspace --no-fail-fast` → 33 suites, 0 failures.** CI-only/test-only change; no version bump. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
fix(ci): green the pipeline — rustfmt ruby.rs + gate Windows-only path test
All checks were successful
CI / cargo fmt (pull_request) Successful in 16s
CI / cargo clippy (pull_request) Successful in 44s
CI / cargo test (pull_request) Successful in 1m37s
8bc580a7a0
Two independent breakages made every CI run red:

1. fmt gate (the ~16s fast failures, introduced by the Ruby work):
   crates/plugins/src/ruby.rs was not rustfmt-clean (multi-line fn
   signatures + a collapsible match arm). `cargo fmt --all` fixes it; no
   logic change.

2. test gate (PRE-EXISTING, red since before the Ruby work — even the
   May-27 README-only commits failed here): the core test
   path_display::strip_verbatim_path_preserves_components asserts
   component-wise Windows path semantics (`E:\foo\bar` having three
   components), which only hold where `\` is a separator. On the Linux
   CI runner `E:\foo\bar` is a single component, so `starts_with` fails.
   Gate the test `#[cfg(windows)]`; the cross-platform prefix-strip
   behavior remains covered by display_path_strips_drive_prefix.

All three gates now pass on linux-x86_64 (= the CI env): fmt, clippy
-D warnings, and `cargo test --workspace --no-fail-fast` (33 suites, 0
failures).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ci(release): make release creation idempotent (reuse existing, replace assets)
All checks were successful
CI / cargo fmt (pull_request) Successful in 15s
CI / cargo test (pull_request) Successful in 1m33s
CI / cargo clippy (push) Successful in 45s
CI / cargo clippy (pull_request) Successful in 43s
CI / cargo fmt (push) Successful in 15s
CI / cargo test (push) Successful in 1m33s
3718d4dff7
The release job did `curl -sf POST /releases`, which fails on HTTP 409
when a release for the tag already exists — e.g. one created by hand or
by a prior run of the same tag. That made the release flow red on
re-runs and whenever a release was pre-created.

Now it GETs the release by tag first and reuses its id (without
overwriting a hand-written body); only creates when absent. Asset upload
snapshots existing assets and deletes a same-named asset before
re-uploading, so re-runs refresh artifacts instead of 409-ing. Upload
status is checked via HTTP code rather than `-sf`.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
buildagent deleted branch fix/ci-green 2026-06-04 16:11:39 +02:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
h-dv/code-index!5
No description provided.