Skip to content

chore: CI + Trusted Publishing (OIDC) + edition 2024 + MSRV + cargo-audit - #1

Merged
Wolfe-Jam merged 1 commit into
mainfrom
chore/trusted-publishing-hygiene
Jun 12, 2026
Merged

Wolfe-Jam merged 1 commit into
mainfrom
chore/trusted-publishing-hygiene

Conversation

@Wolfe-Jam

Copy link
Copy Markdown
Owner

Changes

  • Cargo.toml — edition 20212024, added rust-version = "1.85" (MSRV). Manifest dependencies untouched (faf-rust-sdk = "1.3" pin left as-is).
  • .github/workflows/ci.yml (new) — cargo fmt --check, cargo clippy -- -D warnings, cargo test, cargo build --release on push/PR to main. Repo previously had no CI.
  • .github/workflows/publish-crate.yml (new) — crates.io Trusted Publishing via OIDC (rust-lang/crates-io-auth-action@v1), tag-vs-Cargo.toml version guard, runs in the crates-io environment. No long-lived CARGO_REGISTRY_TOKEN secret needed.
  • .github/workflows/audit.yml (new) — cargo audit on Cargo.toml/Cargo.lock changes + weekly schedule.
  • src/lib.rs — fixed broken doctest: it imported nonexistent faf::FafDocument; now uses the real re-exported API (faf::parse(...)FafFile::project_name() / score()). Pre-existing breakage (unrelated to the edition bump) that would have failed the new CI's cargo test.
  • Cargo.lockrand 0.9.20.9.4, clears RUSTSEC-2026-0097 (unsound warning). Lockfile-only change.

Verification (local, after changes)

  • cargo build — clean
  • cargo build --release — clean
  • cargo test — 1 doctest passing (meta-crate; no unit tests by design)
  • cargo clippy --all-targets -- -D warnings — clean
  • cargo fmt --check — clean
  • cargo audit — clean (0 vulnerabilities, 0 warnings after rand update)

Owner note

Before first publish: crates.io → faf → Settings → Trusted Publishing → add GitHub publisher (repository Wolfe-Jam/faf-crate, workflow publish-crate.yml, environment crates-io).

🤖 Generated with Claude Code

…udit

- Cargo.toml: edition 2021 -> 2024, add rust-version = "1.85" (MSRV)
- .github/workflows/ci.yml: fmt --check, clippy -D warnings, test,
  release build on push/PR to main (repo previously had no CI)
- .github/workflows/publish-crate.yml: crates.io Trusted Publishing via
  OIDC (rust-lang/crates-io-auth-action), tag/version guard,
  crates-io environment — no long-lived token
- .github/workflows/audit.yml: cargo-audit on manifest changes + weekly
- src/lib.rs: fix broken doctest — referenced nonexistent
  faf::FafDocument; now uses the real API (faf::parse / project_name /
  score). Pre-existing breakage; would have failed the new CI.
- Cargo.lock: rand 0.9.2 -> 0.9.4, clears RUSTSEC-2026-0097 (unsound
  warning). Lockfile-only; manifest deps untouched (faf-rust-sdk stays
  at 1.3).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Wolfe-Jam
Wolfe-Jam merged commit ca5c410 into main Jun 12, 2026
2 checks passed
@Wolfe-Jam
Wolfe-Jam deleted the chore/trusted-publishing-hygiene branch June 12, 2026 22:19
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