### Intégration continue
Il y a 2 "niveaux" de CI :
* Une partie des tests est lancée sur la pull request directement (la plupart des tests mais seulement pour linux x64)
* Tous les tests sur toutes les plateformes
Rien ne peut être mergé si la CI ne passe pas !
### File de build
[bors.rust-lang.org/queue/rust](https://bors.rust-lang.org/queue/rust)

### Qu'est-ce qui est testé ?
* Compiletest
* Tests unitaires
* La sortie d'erreur de Rustc et Rustdoc
* Les exemples de documentation
* Tous les tests des outils (cargo, rustdoc, clippy, rustfmt, etc)
* Les liens morts de la documentation
* ... Et bien plus encore !
### Sur quel OS/architecture?
* Plateforme tier 1 : Doit builder et passer les tests
* Plateforme tier 2 : Doit builder
* Plateforme tier 3 : Existe
Politique des tiers de "target" :
[doc.rust-lang.org/nightly/rustc/target-tier-policy.html](https://doc.rust-lang.org/nightly/rustc/target-tier-policy.html)
Liste des platformes pour chaque tier :
[doc.rust-lang.org/rustc/platform-support.html](https://doc.rust-lang.org/rustc/platform-support.html)
### Et les releases ?
En (très) bref :
1. La file de build de bors est gelée.
2. Les branches beta et stable sont mises à jour.
3. Toutes les informations (de version notamment) sont mises à jour.
4. Les binaires sont générés pour toutes les plateformes.
5. Le blog post est publié.
Performance
La pull request a été mergée, mais maintenant il est temps de vérifier si elle a eu un impact sur les performances.
perf.rust-lang.org
### Autres cas
L'ajout d'une nouvelle fonctionnalité ou un changement non rétro-compatible. Trois possibilités :
* RFC (Request For Comments) : Pour les gros changements
* MCP (Major Compiler Changes) : Pour les changements "pas trop gros" (dans le compilateur uniquement)
* FCP (Final Comment Period) : Pour les changements "pas trop gros"
Vérifier de potentielles régressions
Au cas où une pull request introduit des changements qui pourrait introduire une régression, on utilise crater.