Mes workflows fonctionneront-ils sans modification ?
Oui, pour la plupart. Skipbox exécute les workflows des dépôts publics et privés des organisations GitHub et des comptes personnels. La VM tourne sous Ubuntu 24.04 sur x64 avec Docker, git, build-essential, Node 22 et Python 3.12, et la tâche s'exécute avec un utilisateur disposant de sudo sans mot de passe, comme sur les exécuteurs de GitHub. L'image ubuntu-latest de GitHub contient plus d'outils préinstallés : ajoutez actions/setup-java, actions/setup-go et autres pour les outils qui manquent.
Pourquoi est-ce si peu cher ?
Avec l'IA qui écrit une part croissante du code, la CI tourne davantage chaque mois, et la facturation à la minute augmente à chaque exécution. Skipbox a donc choisi délibérément un autre modèle : vous louez au mois une VM réservée à votre compte. GitHub ne facture pas les minutes des exécuteurs auto-hébergés : quel que soit le nombre de tâches exécutées, le prix reste fixe, $39 par mois pour S. Fluxenic, l'entreprise derrière Skipbox, utilise des serveurs de fournisseurs cloud à bas coût et les siens, et les propose sous forme de VM de taille utile. Skipbox s'occupe de la partie fastidieuse à votre place : il enregistre les exécuteurs, nettoie après chaque tâche et contrôle l'intégrité de la machine. Il reconstruit aussi une machine en panne et maintient l'image à jour. À pleine charge, le prix est de 1/12 de celui de GitHub et de 1/8 de celui de Blacksmith.
Pourquoi est-ce si rapide ?
Parce que la machine est réservée à votre compte et continue de tourner entre les tâches. Les couches Docker et les caches de paquets de votre dernière tâche sont toujours sur son disque : un build qui les utilise n'a pas à les récupérer ni à les reconstruire. Une tâche hébergée par GitHub démarre à chaque fois sur une nouvelle VM au disque vide. Même S garde ses caches sur son propre disque de 80 Go. C'est plus de 7x le cache que GitHub accorde par défaut à un dépôt, et rien n'y expire après 7 jours sans utilisation. S a aussi 4 vCPU, plus que les 2 cœurs d'ubuntu-latest sur un dépôt privé.
Louer mon propre VPS comme exécuteur ne coûterait-il pas moins cher ?
Louez un VPS de même taille chez un grand hébergeur : vous n'obtiendrez toujours pas un exécuteur auto-hébergé moins cher, plus rapide et moins contraignant que Skipbox. Skipbox enregistre un nouvel exécuteur pour chaque tâche et le supprime ensuite. Après chaque tâche, il efface les identifiants de l'exécuteur et garde votre checkout et votre sortie de build pour la suivante. Il contrôle l'intégrité de la machine, la reconstruit quand le contrôle échoue et maintient l'image à jour. Le code des personnes sans accès en écriture (comme les pull requests venant de forks) s'exécute sur une VM jetable. Vous obtenez tout cela pour $39 par mois avec S, en modifiant une ligne runs-on, sans rien à maintenir.
Skipbox exécute-t-il les dépôts publics ?
Oui, les dépôts publics comme privés. Le code des personnes sans accès en écriture (comme les pull requests venant de forks) s'exécute sur une nouvelle VM qui lit vos caches sans pouvoir les modifier ; votre propre machine n'exécute que le code de votre équipe.
Les minutes sont-elles vraiment illimitées ?
Oui. Les forfaits coûtent $39, $79 ou $149 par mois, facturés en dollars américains chaque mois, ou à l'année d'avance au prix de 10 mois, sans frais d'utilisation. Un forfait limite le nombre de tâches exécutées en même temps et la taille de chacune, pas les minutes : une tâche qui ne rentre pas attend qu'une tâche en cours se termine, et cette attente n'ajoute rien à votre facture. La page de votre organisation dans Skipbox indique combien de tâches attendent et depuis combien de temps attend la plus ancienne. Une tâche peut durer jusqu'à 6 heures.
Comment les tâches plus grandes comptent-elles dans les tâches simultanées ?
Les tâches simultanées se comptent en tâches de 4 vCPU. Un forfait exécute en même temps des tâches jusqu'à son total de vCPU (S 4, M 8, L 16 vCPU) : une tâche de 8 vCPU compte pour 2, et une tâche de 16 vCPU pour 4. La plus grande tâche qu'un forfait peut exécuter seule correspond à son nombre de vCPU : 4 sur S, 8 sur M, 16 sur L. Ajoutez des forfaits pour exécuter plus de tâches en même temps.
Comment Skipbox se compare-t-il aux exécuteurs de GitHub ?
Chaque tâche Skipbox S dispose de 4 vCPU et 16 Go ; ubuntu-latest de GitHub sur un dépôt privé, c'est 2 cœurs et 8 Go. Votre propre machine garde aussi les couches Docker et les caches de paquets de votre dernière tâche : un build qui les utilise n'a pas à les récupérer à nouveau ; une tâche hébergée par GitHub démarre à chaque fois sur une nouvelle VM. docker build et docker compose build réutilisent les couches. Le builder par défaut de docker/setup-buildx-action démarre vide à chaque tâche : ajoutez-y driver: docker pour utiliser le cache propre à la machine. Une fois votre première tâche exécutée sur Skipbox, le tableau de bord affiche sa durée à côté de sa médiane sur GitHub sur les 30 derniers jours, si GitHub l'a exécutée pendant cette période.
Mon build manque de mémoire sur l'exécuteur de GitHub. Combien de mémoire a Skipbox ?
16 Go avec le forfait S, sur votre propre machine : 2× les 8 Go d'ubuntu-latest sur un dépôt privé, et autant que le grand exécuteur (larger runner) de GitHub à 4 cœurs. Le forfait S avait autrefois 8 Go, ce qui ne suffisait pas pour openai/codex (rust-v0.159.3) : son cargo clippy --workspace --tests ne s'est terminé qu'en poussant environ 14 Go dans un swap compressé. Avec les 16 Go actuels, le même build place environ 20 Mo en swap. Pour une tâche qui en demande plus, le forfait L a 32 Go.
À quoi Skipbox a-t-il accès ?
Seulement à ce dont il a besoin pour enregistrer des exécuteurs et vérifier les tâches. Sur une organisation, l'application Skipbox CI demande trois autorisations : Self-hosted runners (écriture), pour enregistrer un exécuteur auprès de GitHub pour chaque tâche et le supprimer à la fin de la tâche ; Actions (lecture et écriture), pour voir quelles tâches attendent, vérifier leur statut, lire la durée de vos tâches sur les 30 derniers jours pour votre devis, et réexécuter une tâche dont la machine Skipbox s'est arrêtée en cours de route ; et Metadata (lecture). L'application Skipbox CI ne modifie ni ne pousse jamais vos workflows, et ne peut pas lire votre code : chaque tâche fait elle-même le checkout de votre code, sur la VM où elle s'exécute. Sur un compte personnel, GitHub n'enregistre un exécuteur pour un dépôt qu'avec l'autorisation Administration, qui couvre aussi les paramètres du dépôt, ses collaborateurs et ses clés de déploiement. Skipbox (personal) la demande et ne s'en sert que pour enregistrer et supprimer des exécuteurs. Une seule fonctionnalité fait exception, et seulement si vous l'installez : le bouton « Ouvrir une pull request » du tableau de bord utilise une application distincte, Skipbox Migrate, que vous installez uniquement sur les dépôts que vous choisissez. Elle y demande l'accès en écriture à Contents, Workflows et Pull requests, pousse une seule branche (skipbox/run-ci-on-skipbox) qui ne modifie que des lignes runs-on, et ouvre une pull request à partir de celle-ci. Elle ne fusionne jamais et ne touche jamais à votre branche par défaut. À la connexion, Skipbox lit aussi votre adresse e-mail, pour les avis liés à l'essai et à la facturation. Comme sur tout exécuteur, la VM d'une tâche contient les secrets de votre workflow et le jeton GitHub de cette tâche : le code exécuté par la tâche peut donc les lire.
Où les tâches s'exécutent-elles ?
Sur la machine propre à votre organisation : une VM de la taille de votre forfait (pendant l'essai aussi), et une de plus pour chaque forfait supplémentaire. Aucune autre organisation ne l'utilise. Elle continue de tourner entre vos tâches : les images Docker, les caches, votre checkout et sa sortie de build (le target/ de Cargo, et le cache de Turborepo avec turbo 2) restent pour vos tâches suivantes. Elle tourne sur des serveurs que Fluxenic, l'entreprise derrière Skipbox, loue à des fournisseurs cloud ou exploite elle-même. La politique de confidentialité indique chaque fournisseur et chaque pays. Après chaque tâche, les identifiants de l'exécuteur, les identifiants Git de votre checkout et les fichiers d'identifiants courants sont effacés. Les tâches au-delà de vos propres machines, le code des personnes sans accès en écriture (comme les pull requests venant de forks) et toutes les tâches avec Nouvelle VM pour chaque tâche s'exécutent sur une nouvelle VM, supprimée avec son disque à la fin de la tâche. Une tâche encore en cours après 6 heures est arrêtée. Rien ne peut s'y connecter depuis Internet. Le courrier sortant (port TCP 25) est bloqué. Le reste d'Internet est ouvert, comme sur les exécuteurs hébergés par GitHub. Le trafic n'est pas facturé.
Puis-je repartir de zéro avec ma machine, ou exécuter chaque tâche sur une nouvelle VM ?
Oui. Appuyez sur Réinitialiser la machine dans Forfaits et facturation, à tout moment. Activez-y Nouvelle VM pour chaque tâche : chaque tâche s'exécute alors sur une nouvelle VM.
Pouvons-nous résilier ou être remboursés ?
Résiliez à tout moment ; votre forfait court jusqu'à la fin du mois, ou de l'année, payé. Si vos tâches ne sont pas plus rapides sur Skipbox qu'elles ne l'étaient sur GitHub, vous récupérez tout ce que vous avez payé, sur les forfaits mensuels comme annuels : faites la demande sur la page Forfaits et facturation de votre compte dans les 30 jours suivant votre premier paiement. Skipbox prend la durée médiane de chaque tâche sur Skipbox et sur GitHub (les 30 jours précédant l'installation de Skipbox), pondère chaque tâche selon sa fréquence d'exécution sur GitHub et compare les deux totaux ; une tâche compte dès qu'elle a été exécutée au moins 3 fois de chaque côté, et sans tâche à comparer, il n'y a rien à rembourser. Si la première tâche que vous exécutez après votre abonnement ne démarre pas dans les 10 minutes, sans compter le temps passé à attendre derrière vos propres tâches, nous vous remboursons intégralement et automatiquement, et le forfait prend fin. Sinon, un mois ou une année payés ne sont pas remboursés, sauf dans les cas prévus par les Conditions d'utilisation.
Que se passe-t-il à la fin de l'essai ? Suis-je facturé ?
Rien n'est facturé : l'essai ne demande pas de carte. Il commence à votre première tâche sur Skipbox, et non à la connexion ou à l'installation de l'application, et exécute une tâche 4 vCPU · 16 Go à la fois pendant 7 jours ou 3 000 minutes, selon ce qui arrive en premier. Il y a 1 essai par compte et 1 par personne. À la fin, les nouvelles tâches attendent sur GitHub jusqu'à ce que vous choisissiez un forfait.
Comment exécuter une tâche sur Skipbox, puis revenir en arrière ?
Remplacez runs-on par skipbox pour passer à Skipbox, et remettez ubuntu-latest pour revenir. Connectez-vous avec GitHub, installez l'application Skipbox CI sur votre organisation ou Skipbox (personal) sur votre compte personnel, remplacez la ligne runs-on de la tâche par skipbox, puis faites un commit ; pour une VM plus grande, sur les forfaits qui en incluent une, utilisez skipbox-8x16 ou skipbox-16x32. Pour revenir, remplacez runs-on: skipbox par runs-on: ubuntu-latest. Rien d'autre n'a changé dans votre dépôt.