Skip to content

fix(ci): Fix CI and simplify the setup - #5677

Merged
NathanFlurry merged 1 commit into
mainfrom
codex/fix-rust-ci
Sep 8, 2026
Merged

fix(ci): Fix CI and simplify the setup#5677
NathanFlurry merged 1 commit into
mainfrom
codex/fix-rust-ci

Conversation

@artemyarulin

Copy link
Copy Markdown
Contributor
  • Run cached Rust validation on every pull request without third-party change detection.
  • Keep event and queue tuple-limit expectations test-only so warning-denied builds pass.

@railway-app

railway-app Bot commented Sep 8, 2026

Copy link
Copy Markdown

This PR was not deployed automatically as @artemyarulin does not have access to the Railway project.

In order to get automatic PR deploys, please add @artemyarulin to your workspace on Railway.

@claude

claude Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Review

Small, focused CI fix. Verified the changes against .github/workflows/rust.yml and the two Rust source files.

What it does:

  • Removes the changes job (dorny/paths-filter@v2) that gated fmt/check on whether Rust-relevant paths changed, so Rust CI now runs unconditionally on every PR. Drops a third-party action dependency in the process.
  • Folds the separate Swatinem/rust-cache@v2 step into actions-rust-lang/setup-rust-toolchain@v1's built-in cache-shared-key/cache-on-failure inputs. Confirmed cache-shared-key is a real input on that action, so this is not a silent no-op, it also removes what was effectively double-caching (the toolchain action already caches by default, so the extra Swatinem/rust-cache@v2 step was redundant).
  • status-check now requires needs.fmt.result/needs.check.result == "success" instead of only failing on == "failure". This is a correctness fix on its own: the old logic would have treated a skipped/cancelled job as a pass.
  • Moves EVENT_SET_TUPLE_ARITY_MAX and QUEUE_SET_TUPLE_ARITY_MAX from module scope into the test modules where they are actually consumed. Checked: both constants are only referenced in test assertions (event.rs:2059, queue.rs:465), so this is exactly the right fix for the new "always-on" check job, which runs with RUSTFLAGS=-D warnings and would otherwise fail on "constant is never used".

Correctness: No issues found. The glob import in event.rs's test module still picks up the relocated constant, and queue.rs's test import list was correctly trimmed since the constant is now locally defined there.

Trade-off worth confirming (not a blocker): every PR now pays the full fmt + check cost even when it touches nothing Rust-related (e.g. docs/frontend-only PRs), which is a direct consequence of dropping the paths-filter gate. That looks intentional given the PR title/description, but flagging it in case the added CI time/cost was not fully weighed against the reliability gain.

Test coverage: N/A for this change, it is CI config plus a no-op code relocation, not new logic, so no new tests are needed.

Security: Removing the third-party dorny/paths-filter@v2 action is a minor supply-chain win.

@artemyarulin artemyarulin changed the title fix(ci): run Rust checks on every pull request fix(ci): Fix CI and simplify the setup Sep 8, 2026
@NathanFlurry
NathanFlurry merged commit 584568b into main Sep 8, 2026
9 checks passed
@NathanFlurry
NathanFlurry deleted the codex/fix-rust-ci branch September 8, 2026 16:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants