Enzonic CI
CI pour vos dépôts GitHub, sur les runners Enzonic.
Enzonic CI exécute vos tests et vos builds à chaque push et chaque pull request, chaque job dans son propre bac à sable, sur des runners Linux exploités par Enzonic. Journaux en direct, caches de dépendances et artefacts, sur le même compte et la même offre que Deploy et Databases.
Inclus dans tous les plans, Free compris. Les minutes CI, les jobs parallèles et la durée de conservation sont inclus dans votre plan.

Plus rapide que GitHub Actions sur le même workflow
Un seul workflow, exécuté sur les deux plateformes : un job Node avec npm ci et une suite vitest, et un job Go avec go test. Plus c'est bas, mieux c'est.
| Étape | Enzonic CI | GitHub Actions |
|---|---|---|
| Exécution complète, du push à la fin de chaque job (caches chauds) | 22 s | 37 s |
| Checkout | 0,06 s | 1 s |
| npm ci avec un cache chaud | 0,09 s | 3 s |
| go test avec des caches froids | 2,8 s | 20 s |
| Job Go, du début à la fin (caches chauds) | 2 s | 11 s |
Là où nous sommes plus lents : le premier npm ci après une modification du lockfile prend 6,8 s, contre 4 s sur GitHub, car chaque fichier extrait par npm passe par le bac à sable du job. Chaque exécution suivante avec le même lockfile prend 0,09 s.
Mesuré le 1 novembre 2026 avec le même .github/workflows/ci.yml sur les deux plateformes (GitHub sur ubuntu-latest), dans un dépôt de benchmark. Médianes de 3 exécutions, en secondes ; les exécutions à chaud avaient les caches de chaque plateforme en place. Les chiffres à froid de GitHub proviennent d'une seule première exécution.
Une configuration que vous connaissez déjà
Écrivez .enzonic/ci.yml, ou gardez vos workflows GitHub Actions : Enzonic CI exécute le sous-ensemble pris en charge de .github/workflows et signale ce qu'il ne peut pas exécuter, comme les actions non prises en charge, les runners Windows ou macOS et les workflows réutilisables, avec un message explicatif.
Ce qui lance une exécution
- Pushes et tags
- Pull requests
- Planifications
- Exécutions manuelles depuis la console et exécutions lancées depuis l'API
Les jobs s'exécutent sur des runners Linux. Chaque job dispose de son propre bac à sable gVisor, sans accès aux réseaux privés.
name: CI
on:
push:
branches: [main]
pull_request:
jobs:
test:
image: node:22-bookworm-slim
services:
postgres:
image: postgres:17-alpine
env:
POSTGRES_PASSWORD: postgres
env:
DATABASE_URL: postgres://postgres:postgres@postgres:5432/postgres
steps:
- name: Install
run: npm ci
- name: Test
run: npm testUn exemple. La référence CI de la documentation liste chaque clé et chaque action prise en charge.
Chaque push et chaque pull request dans une seule liste
Les exécutions de chaque dépôt connecté, avec leur statut, leur événement, leur branche, leur commit et leur durée. La liste se met à jour pendant qu'une exécution est en cours, et chaque exécution publie un check sur GitHub.

Ce qu'il permet
- Builds en matrice et dépendances entre jobs
- Répartissez le travail en jobs, lancez-les sur une matrice et ordonnez-les avec needs.
- Conteneurs de services
- Lancez Postgres ou un autre service à côté d'un job ; il rejoint le réseau du job pendant toute la durée de l'exécution.
- Un bac à sable par job
- Chaque job s'exécute dans son propre bac à sable gVisor, sur son propre réseau, sans accès aux réseaux privés.
- Journaux en direct et artefacts
- Suivez chaque étape pendant son exécution, relancez les jobs en échec et téléchargez les artefacts tant que votre plan les conserve.
- Pull requests sûres depuis les forks
- Les exécutions liées aux pull requests issues de forks ne reçoivent aucun secret par défaut.
- Corrections pour les jobs en échec
- Enzica, l'assistant d'Enzonic, peut lire les journaux d'un job en échec et proposer une correction que vous relisez avant que quoi que ce soit ne change.
Caches de dépendances
Les caches sont conservés par dépôt, dans la limite de la taille de cache de votre plan.
- npm
- pnpm
- Yarn
- Bun
- pip
- Go
- Cargo
- Maven
- Gradle
Limites de CI par plan
Les minutes CI sont réinitialisées chaque mois et comptées par job terminé. Les plans payants ajoutent des minutes, des jobs parallèles, un cache plus grand et une conservation plus longue.
| Offre | GratuitGratuit | Starter5 $US par mois | Pro10 $US par mois | Growth19 $US par mois | Business29 $US par mois |
|---|---|---|---|---|---|
| Minutes CI | 3 000 par mois | 5 000 par mois | 6 000 par mois | 15 000 par mois | 60 000 par mois |
| Jobs simultanés | 2 | 4 | 6 | 10 | 20 |
| Délai d'un job | 360 min | 360 min | 360 min | 480 min | 720 min |
| Cache de dépendances | 2 GB | 5 GB | 10 GB | 20 GB | 50 GB |
| Artefacts conservés | 90 jours | 90 jours | 90 jours | 180 jours | 400 jours |
| Journaux conservés | 14 jours | 30 jours | 30 jours | 60 jours | 90 jours |
- 50 % de réduction sur votre premier mois payant
- 25 % de réduction chaque mois avec une offre de jeu Enzonic payante
Prix en dollars américains. Les offres payantes se renouvellent chaque mois depuis votre solde Enzonic, ou par carte lorsque le solde est épuisé. L'offre gratuite ne demande jamais de carte. La console affiche toujours les limites de votre offre actuelle.
Aides Cloud
Du temps Pro ou Business gratuit et jusqu'à 500 $US de crédit Cloud pour les personnes qui créent pour les autres.
- Pro ou Business pour 3, 6 ou 12 mois
- Jusqu'à 500 $US de crédit Cloud sur votre solde Enzonic
- Une subvention couvre Deploy, Databases, CI et les limites Rapidfile du plan
- Lu par une personne, réponse généralement sous quelques jours
Faites votre demande avec le formulaire sur enzonic.dev. Un compte Enzonic gratuit suffit, et aucune carte n'est nécessaire.
- Open source
- Étudiants
- Associations à but non lucratif
- Startups
- Enseignants
- Hackathons
Questions
Connectez un dépôt et laissez le prochain push se lancer.
Vous déployez aussi l'application, vous hébergez sa base de données ou ses envois ?