Des runners CI éphémères pour Irvyne Consulting.
ICR est notre infrastructure interne de runners GitHub Actions, sur du matériel en France. Cette page documente les tailles disponibles pour nos équipes. Pour discuter de vos besoins CI, contactez-nous.
- 01runs-on: icr-8c-16g
- 028 vCPU · 16 Gio RAM
- 03VM neuve · disque 192 Gio
- 04RAM réservée · CPU partagé
- 05VM supprimée après le job
Comment ça marche
Le cycle d’un runner.
Animation illustrative, sans mesure de performance. Les ressources des jobs de la scène sont des exemples.
la scène défile latéralement
en direct, en accéléré · 0 en cours · 0 en attente · 0 / 64 vCPU · 0 / 380 GB
Cliquez un chapitre pour figer la scène et lire ce qui s'y passe ; Lecture reprend.
- 01 · runs-on: icr-8c-16g
Un job est mis en file
Votre workflow choisit un label qui précise les vCPU et la mémoire de la VM.
- 02 · HTTPS sortant
Le contrôleur contacte GitHub
Le contrôleur interroge GitHub via son API de scale sets. GitHub ne se connecte pas au réseau de la ferme.
- 03 · RAM réservée
Les ressources décident de l’admission
L’admission réserve la RAM dans un plafond partagé de 288 Gio et conserve une marge hôte de 24 Gio. Un essai plafonne aussi les allocations des runners et des builds d’image à 96 vCPU. La pression CPU et I/O peut différer les nouveaux runners.
- 04 · image vérifiée
Une VM neuve démarre
Chaque job démarre dans un clone de l’image de runner active, avec une inscription GitHub à usage unique.
- 05 · CPU partagé
Le job utilise ses ressources
Le nombre de vCPU est visible dans la VM. Le CPU peut être sur-alloué : les jobs ralentissent en cas de contention. La RAM allouée reste réservée.
- 06 · capacité libérée
La VM est supprimée
À la fin du job, la VM et son disque sont supprimés. Les jobs en attente peuvent alors démarrer.
Tailles
11 tailles, CPU et RAM explicites.
| Label | vCPU | Mémoire | Faite pour |
|---|---|---|---|
| icr-1c-2g | 1 | 2 Gio | Petits scripts et notifications |
| icr-2c-4g | 2 | 4 Gio | Jobs de synthèse et tâches simples |
| icr-2c-8g | 2 | 8 Gio | Tests légers avec davantage de mémoire |
| icr-4c-8g | 4 | 8 Gio | Builds et tests courants |
| icr-4c-12g | 4 | 12 Gio | Tests web, builds et composants API ; vérifier le pic mémoire |
| icr-4c-16g | 4 | 16 Gio | Builds avec un besoin mémoire plus élevé |
| icr-4c-24g | 4 | 24 Gio | Builds et tests gourmands en mémoire ; vérifier le pic |
| icr-4c-32g | 4 | 32 Gio | Tests gourmands en mémoire avec un besoin CPU modéré |
| icr-8c-8g | 8 | 8 Gio | Contrôles légers, tests des outils et acceptation |
| icr-8c-12g | 8 | 12 Gio | Tests web et composants API avec un budget CPU mesuré |
| icr-8c-16g | 8 | 16 Gio | Builds parallèles à consommation mémoire modérée |
| icr-8c-24g | 8 | 24 Gio | Builds et tests gourmands en mémoire ; vérifier le pic |
| icr-8c-32g | 8 | 32 Gio | Builds gourmands en mémoire et workflows existants |
| icr-16c-12g | 16 | 12 Gio | Contrôles Kotlin et pointes CPU ; vérifier le pic mémoire |
| icr-16c-16g | 16 | 16 Gio | Builds parallèles gourmands en CPU |
| icr-16c-32g | 16 | 32 Gio | Tests Kubernetes kind et tests nocturnes |
Franc-parler
Ce que nous promettons, et ce que nous ne promettons pas.
Choisir sur les mesures
Les usages proposés sont des points de départ. Mesurez le pic mémoire et gardez une marge pour les compilateurs, navigateurs et conteneurs.
Swap de secours
Chaque nouveau runner dispose de 4 Gio de swap disque. Ce swap ne compte pas dans la capacité RAM ; son utilisation demande de revoir la taille du job.
Disque de travail
Les nouveaux runners disposent d’un disque de 192 Gio. L’image candidate doit conserver au moins 30 % d’espace libre après sa préparation.
Une VM par job
La VM est isolée par le pare-feu de l’hôte, puis détruite avec son disque. L’opérateur peut techniquement accéder aux données pendant l’exécution.
Questions
Choisir et utiliser un runner.
Contactez-nous pour toute autre question.
Comment choisir une taille ?
Utilisez le plus petit profil qui conserve une marge sur le pic mémoire mesuré. Davantage de vCPU aide seulement si le travail peut les utiliser. Les usages du tableau restent à valider sur votre projet.
Comment lire le label ?
icr-8c-16g demande 8 vCPU et 16 Gio de RAM. Tous les labels documentés suivent icr-<vCPU>c-<RAM>g ; utilisez le label complet dans runs-on.
Le CPU est-il plafonné globalement ?
Un essai plafonne les allocations cumulées des runners et des builds d’image à 96 vCPU : 1,5 fois les 64 threads matériels de l’hôte (32 cœurs physiques). Le CPU reste partagé ; la RAM, la pression CPU/I/O et la santé de l’hôte contrôlent aussi l’admission. Les jobs déjà lancés se terminent normalement.
288 Gio sont-ils toujours disponibles ?
C’est le plafond cumulé de RAM allouée aux runners, pas une promesse de capacité libre. Le contrôle de mémoire disponible peut refuser un nouveau runner avant ce plafond pour protéger Proxmox et les autres VM.
Puis-je utiliser ICR pour mon organisation ?
La ferme sert actuellement Irvyne Consulting en interne. Contactez-nous pour discuter de vos besoins, sans inscription ni offre de capacité en libre-service.