Aller au contenu
Irvyne Consulting
ICR · Irvyne Consulting RunnersUsage interne

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.

  1. 01runs-on: icr-8c-16g
  2. 028 vCPU · 16 Gio RAM
  3. 03VM neuve · disque 192 Gio
  4. 04RAM réservée · CPU partagé
  5. 05VM supprimée après le job
Exemple de sélection d’un runner, sans chronométrage.

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

LabelvCPUMémoireFaite pour
icr-1c-2g12 GioPetits scripts et notifications
icr-2c-4g24 GioJobs de synthèse et tâches simples
icr-2c-8g28 GioTests légers avec davantage de mémoire
icr-4c-8g48 GioBuilds et tests courants
icr-4c-12g412 GioTests web, builds et composants API ; vérifier le pic mémoire
icr-4c-16g416 GioBuilds avec un besoin mémoire plus élevé
icr-4c-24g424 GioBuilds et tests gourmands en mémoire ; vérifier le pic
icr-4c-32g432 GioTests gourmands en mémoire avec un besoin CPU modéré
icr-8c-8g88 GioContrôles légers, tests des outils et acceptation
icr-8c-12g812 GioTests web et composants API avec un budget CPU mesuré
icr-8c-16g816 GioBuilds parallèles à consommation mémoire modérée
icr-8c-24g824 GioBuilds et tests gourmands en mémoire ; vérifier le pic
icr-8c-32g832 GioBuilds gourmands en mémoire et workflows existants
icr-16c-12g1612 GioContrôles Kotlin et pointes CPU ; vérifier le pic mémoire
icr-16c-16g1616 GioBuilds parallèles gourmands en CPU
icr-16c-32g1632 GioTests 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.