Choisir le dépôt et la branche
Choisissez la copie du dépôt modifiée par l’agent et le moment où ses commits sont intégrés.
Choisir le dépôt de travail
Section intitulée « Choisir le dépôt de travail »Passez repository pour choisir le dépôt Git utilisé par la tâche. Vos scripts de workflow peuvent se trouver ailleurs ; calculez le chemin du dépôt à partir du dossier du script pour pouvoir le lancer depuis n’importe quel répertoire courant.
Le script affiche outpost/update-deps et le nombre de commits. Un chemin relatif se résout depuis le répertoire courant : le résoudre depuis import.meta.dirname permet de lancer le script de n’importe où.
Choisir la stratégie de branche
Section intitulée « Choisir la stratégie de branche »Gardez le travail sur une branche nommée pour examiner les commits avant de les fusionner. Choisissez l’intégration automatique si une tâche réussie doit fusionner ses commits dans votre branche de départ.
Référence API : BranchPolicy.
Conditionner l’intégration à une vérification
Section intitulée « Conditionner l’intégration à une vérification »dispatch() et workspace.dispatch() fusionnent une branche integrate dès que l’agent réussit. Pour lancer d’abord votre propre vérification, ouvrez le workspace vous-même et travaillez dans une session de sandbox.
sandbox.dispatch() ne fusionne jamais : la fusion n’a lieu que si npm test réussit. Sinon, la branche non fusionnée reste dans votre dépôt sous workspace.branch. integrate() ne fait rien dans les autres modes.
Réutiliser un workspace pour plusieurs sandboxes
Section intitulée « Réutiliser un workspace pour plusieurs sandboxes »Un workspace ouvert possède le dépôt, la branche et les fichiers copiés. workspace.dispatch() et workspace.sandbox() démarrent à chaque appel une nouvelle sandbox sur ce workspace : deux agents peuvent ainsi travailler à tour de rôle sur la même branche. Passer workspace à createSandbox() ou à dispatch() revient au même.
Un workspace sert une seule sandbox à la fois. Fermez la sandbox avant le workspace : la page Fonctionnement indique qui ferme quoi.
Copier des fichiers ignorés dans le worktree
Section intitulée « Copier des fichiers ignorés dans le worktree »Un nouveau worktree ne contient que les fichiers commités. copies liste des fichiers ou dossiers, relatifs au dépôt, à copier depuis votre checkout, par exemple une configuration de test ignorée par Git.
Les entrées absentes sont ignorées. Les sandboxes cloud reçoivent les commits et les copies ; includeUncommitted: true envoie aussi les fichiers non commités du worktree (Sandboxes cloud). Sans cette option, une copie qu’aucun .gitignore commité n’exclut fait échouer la première synchronisation avec le code workspace.
Récupérer le travail conservé
Section intitulée « Récupérer le travail conservé »La fermeture conserve le worktree s’il contient des fichiers non commités, non suivis ou ignorés, ou un HEAD détaché. Son chemin revient dans retainedDirectory. Ici, le .env.test copié suffit à le conserver.
close({ preserve: true }) le conserve volontairement. Inspectez le travail conservé avec Récupérer du travail et élaguez-le avec Rétention et nettoyage.
- L’intégration est un
git mergelocal dans votre checkout. Outpost ne pousse jamais : publiez depuis votre propre processus de livraison. integrateexige une branche extraite, pas unHEADdétaché, et échoue avecconflictsi vous changez de branche avant la fusion.- Une fusion arrêtée par un conflit échoue avec
conflict; résolvez-la ou annulez-la dans votre checkout. La branche de travail reste. - Une deuxième tâche sur le même checkout (
current) ou la même branche échoue avecconflictau lieu d’attendre. Donnez à chaque tâche parallèle sa propre branche. - Une branche
namedextraite dans votre propre checkout échoue avecconflict. copiesexigenamedouintegrate, et les sandboxes cloud refusentcurrent.- Une sandbox travaille sur un seul dépôt : voir Plusieurs dépôts.
API : dispatch · openWorkspace · BranchPolicy · WorkspaceOptions · Workspace.