Run Rust formatting, tests, and Clippy in CI
Les mainteneurs répondent en général sous 1 jour
@lukewilliamboswell y travaille déjà.
Depuis le 12/10/2026.
- #514 par @lukewilliamboswell — fusionnée
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 45/100
Piste de recherche
Commencez par les deux jobs de validation dans .github/workflows/ci.yml:27-44 et 46-62, puis examinez ./scripts/test.py --operation validate et src/lib.rs. Exécutez les commandes cargo fmt, cargo test et cargo clippy indiquées afin de reproduire les échecs actuels ; le travail est terminé lorsque CI les impose, que le src/roc_platform_abi.rs généré comporte des tolérances documentées et limitées, et que les tests host-helper demandés ainsi que les instructions pour les contributeurs sont présents.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Context
The CI jobs named “Format, check, and test examples” run ./scripts/test.py --operation validate:
.github/workflows/ci.yml:27-44.github/workflows/ci.yml:46-62
That validation runs Roc tests/format/check operations, but it does not run Rust formatting, Rust tests, or Clippy. At commit 295000a during the release-candidate audit:
cargo check --locked --all-targetspassed;cargo fmt --all -- --checkfailed on formatting insrc/lib.rs;cargo test --locked --all-targetspassed but ran zero Rust tests;cargo clippy --locked --all-targets -- -D warningsfailed on generated acronym names and a raw-pointer ABI lint.
The generated src/roc_platform_abi.rs needs targeted lint allowances rather than disabling useful linting for handwritten host code.
Suggested direction
Add a dedicated Rust validation job or extend the current validation job to run:
cargo fmt --all -- --checkcargo test --locked --all-targetscargo clippy --locked --all-targets -- -D warnings
Configure narrow allowances for generated glue. Add unit tests for pure host helpers and error mappings so cargo test provides meaningful coverage in addition to end-to-end Roc examples.
Acceptance criteria
- Rust formatting is required by CI and the current formatting difference is fixed.
- Handwritten Rust passes Clippy with warnings denied.
- Generated glue has documented, narrowly scoped lint allowances.
- Rust tests cover representative HTTP method/error mapping, TCP read helpers, SQLite lifecycle helpers, and filesystem classification.
- Contributor verification instructions list the same commands CI runs.
- Langage dominant
- Rust
- Étoiles
- 121
- Forks
- 46
- Merge moyen
- 12 h 20 min
- PR mergées (30 j)
- 18
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de roc-lang/basic-cli
-
Unix socket supportOuverte
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
roc-lang/basic-cli#482 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 45/100
roc-lang/basic-cli#455 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 32/100
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de roc-lang/basic-cli
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
bytecodealliance/rustix#1703 ·
Les mainteneurs répondent en général sous 3 jours
-
bug discussion
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
medialab/xan#1201 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
farion1231/cc-switch#8298 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
ajeetdsouza/zoxide#1323 ·
Les mainteneurs répondent en général sous 1 jour