Skip to content

fix(ci): drop the blocked third-party Rust setup action - #114

Merged
PaulAsjes merged 3 commits into
nextfrom
fix/ci-blocked-action
Jul 28, 2026
Merged

fix(ci): drop the blocked third-party Rust setup action#114
PaulAsjes merged 3 commits into
nextfrom
fix/ci-blocked-action

Conversation

@PaulAsjes

Copy link
Copy Markdown
Collaborator

The bug

No CI has ever run in this repo. Every ci.yml run — on next, on the regeneration PRs, on every feature branch — ends in startup_failure:

$ gh run list --workflow=ci.yml
feat/tests-group                    pull_request  startup_failure
next                                push          startup_failure
fern-bot/2026-07-28_15-36-43_370    push          startup_failure
...

Cause

The org restricts GitHub Actions to an allowlist:

{ "allowed_actions": "selected", "github_owned_allowed": true, "verified_allowed": false,
  "patterns_allowed": ["elevenlabs/actions/*", "pnpm/action-setup@*", ...] }

actions-rust-lang/setup-rust-toolchain isn't on it. Referencing a disallowed action fails the entire workflow before any job starts — which is exactly why release.yml works (it only uses GitHub-owned actions/*) while ci.yml never has.

Fix

The GitHub-hosted ubuntu runners already ship a stable Rust toolchain, so the setup action isn't needed. Removed it and use cargo directly, printing rustc/cargo --version for debuggability. Added a comment so nobody reintroduces a blocked action.

This PR is self-verifying: for same-repo PRs the pull_request event runs the workflow from the PR branch, so if CI goes green here, the fix works.

Why this matters now

PR #112 added a pull_request trigger and steps to run the generated crates' 146 previously-unrun tests. That trigger fires correctly — but the workflow still couldn't start. With this fix, all of it actually executes: 1913 tests across the framework, workflow, and both generated crates.

Possible follow-up

The three jobs each rebuild from scratch. actions/cache is GitHub-owned (so allowlisted) and could cache ~/.cargo + target/ — happy to add if the runtime is annoying.

🤖 Generated with Claude Code

PaulAsjes and others added 3 commits July 28, 2026 12:20
Every ci.yml run has been failing at startup (`startup_failure`), so no
check/compile/test has ever actually run in this repo — including on the
regeneration PRs.

Cause: the org restricts Actions to an allowlist (`allowed_actions: selected`,
`verified_allowed: false`), and `actions-rust-lang/setup-rust-toolchain` is not
on it. Referencing a disallowed action fails the whole workflow before any job
starts, which is why release.yml (only `actions/*`, GitHub-owned) works while
ci.yml never did.

The GitHub-hosted ubuntu runners already ship a stable Rust toolchain, so drop
the setup action and use it directly, printing the version for debuggability.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
They only printed toolchain versions and were duplicated across all three
jobs; a missing toolchain would fail `cargo check` with a clear error anyway,
and the runner image version is already in the log header.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@PaulAsjes
PaulAsjes merged commit 44cbbeb into next Jul 28, 2026
5 checks passed
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.

1 participant