Outils du workspace · Gratuit

Task Runner
dans Singularity.

Exécutez les recettes Makefile et Justfile de vos projets depuis le navigateur de Singularity. Task Runner détecte le fichier local, expose ses cibles et prépare des tickets pour faire évoluer vos recettes.

Visuel de présentation · Task Runner dans Singularity

Fiche vérifiée le 31 octobre 2026 · Canal production · Meteor Factory

Pourquoi utiliser Task Runner ?

Exécutez les recettes Makefile et Justfile de vos projets depuis le navigateur de Singularity. Task Runner détecte le fichier local, expose ses cibles et prépare des tickets pour faire évoluer vos recettes.

Pour qui

Pour les développeurs qui utilisent déjà Make ou Just et veulent lancer, tester ou compiler un projet sans ressaisir la commande.

Ce que vous pouvez faire

Lancer les cibles du fichier détecté, avec trois raccourcis épinglés au maximum par projet.

Parcourir toutes les cibles et choisir celles à épingler.

Modifier le fichier ou préparer un ticket de création, conversion ou mise à jour depuis le clic droit du projet.

Après un échec, préparer un ticket contenant la commande, le code de sortie et la sortie du terminal.

Les captures montrent le plugin exécuté dans un banc local avec les composants réels de Singularity et des fichiers de démonstration.

Prérequis et activation

  1. Utilisez Singularity 2.x sur macOS, Linux ou Windows et un dossier de démonstration local.
  2. Installez Make ou Just avec le gestionnaire de paquets de votre système. Vérifiez make --version ou just --version dans le terminal de Singularity : le programme doit être accessible au processus de l’application. Sur macOS, Make est fourni par les outils de ligne de commande Xcode ; Just peut être installé avec brew install just. Sous Windows, les exemples demandent aussi un shell POSIX, par exemple celui de MSYS2.
  3. Dans le Marketplace, recherchez Task Runner, installez-le et activez-le pour l’espace de travail. Accordez les permissions de lecture des fichiers, d’exécution de processus, de réglages, de tickets et d’ouverture du terminal.
  4. Dans Actions de l’espace de travail → Ajouter un projet, ajoutez le dossier. Task Runner n’a pas de page autonome : ses commandes apparaissent sur la ligne du projet et dans son menu contextuel.

> Les exemples ci-dessous n’écrivent aucun fichier et n’appellent aucun service distant. Exécutez uniquement des recettes dont vous connaissez le contenu.

Premier résultat : Makefile

  1. Créez un dossier vide nommé task-runner-demo et enregistrez ce fichier sous le nom exact Makefile. Chaque ligne de commande commence par une vraie tabulation.
dev:
	@printf 'Task Runner demo: OK\n'
test:
	@printf 'Task Runner demo: expected failure\n'
	@exit 1
build:
	@printf 'Task Runner demo: build OK\n'
  1. Ajoutez ce dossier à l’espace de travail. Avec un seul fichier, Make est détecté même si la préférence est Just.
  2. Survolez la ligne du projet dans le navigateur : les trois premières cibles sont épinglées par défaut. Le bouton Run — make dev correspond ici à dev.
  3. Cliquez sur ce bouton. Le terminal du projet s’ouvre et affiche Task Runner demo: OK ; la commande se termine avec le code 0.
  4. Ouvrez Toutes les cibles pour retrouver dev, test et build. L’épingle permet de retirer une cible puis d’en ajouter une autre (trois au maximum).

Pour vérifier indépendamment le fichier, ouvrez un terminal dans ce dossier et lancez make dev, puis make build. Résultats attendus : Task Runner demo: OK et Task Runner demo: build OK.

Exemple : un échec devient un ticket

  1. Cliquez sur Test — make test. La recette affiche Task Runner demo: expected failure puis échoue volontairement. GNU Make renvoie généralement 2, même si la commande de la recette quitte avec 1.
  2. Dans la confirmation d’échec, choisissez Créer un ticket. Cela ouvre le formulaire prérempli ; aucun agent ne démarre à ce stade.
  3. Vérifiez la description : projet, make test, Makefile, code de sortie et sortie d’erreur. Le type proposé est bug, la priorité haute.
  4. Pour cette démonstration sans effet externe, fermez le formulaire après inspection. Pour créer réellement le ticket, configurez un fournisseur IA disponible puis validez Créer dans… : cette validation demande aussi l’envoi à l’agent. Les brouillons de recettes sont actuellement rédigés en anglais, même si l’interface est française.

Variante : Justfile et évolution des recettes

Dans un autre dossier vide, enregistrez le fichier suivant sous le nom justfile, puis ajoutez ce dossier comme projet :

dev:
    @printf 'Task Runner demo: OK\n'
test:
    @printf 'Task Runner demo: expected failure\n'
    @exit 1
build:
    @printf 'Task Runner demo: build OK\n'

just dev doit afficher Task Runner demo: OK. Avec Just sélectionné dans le réglage Gestionnaire de tâches préféré, un clic droit sur ce projet propose Mettre à jour le justfile. Pour un projet contenant seulement un Makefile, la même préférence propose Convertir le Makefile en justfile. Sans aucun des deux fichiers, elle propose Créer un ticket de justfile. Ces actions préremplissent un ticket ; elles ne réécrivent pas immédiatement les fichiers.

Configuration

Le gestionnaire préféré se règle au niveau de l’espace de travail dans les réglages exposés par Task Runner. Just est le choix par défaut ; Make est l’autre option. Si les deux fichiers sont présents, la préférence détermine celui qui est utilisé. Les épingles sont conservées par projet. Une nouvelle exécution de la même cible remplace le terminal lié à cette cible ; une cible en cours expose un bouton d’arrêt. Les worktrees détectent et exécutent leurs propres recettes dans leur propre dossier.

Limites

La détection porte sur justfile, Justfile, .justfile, Makefile, makefile, GNUmakefile ou BSDmakefile au niveau du dossier sélectionné. La liste est issue d’une lecture statique : les imports, macros, cibles calculées et recettes paramétrées complexes ne constituent pas une liste exhaustive. Les boutons transmettent uniquement le nom de la cible, sans formulaire de paramètres. Le plugin n’installe pas Make ou Just et ne fournit pas leurs outils annexes. Les commandes des recettes peuvent utiliser un shell même si l’exécutable est lancé avec des arguments séparés.

Dépannage

SymptômeVérification et solution
Aucun boutonVérifiez l’activation, les permissions, le nom et l’emplacement du fichier, puis sa présence dans le dossier du projet ou du worktree sélectionné.
Mauvais fichier utiliséSi Makefile et justfile coexistent, changez le gestionnaire préféré dans cet espace de travail.
Programme introuvableVérifiez make --version ou just --version dans l’environnement de Singularity ; installez le programme et relancez l’application si le PATH a changé.
Make signale « missing separator »Remplacez les espaces en début de recette par une tabulation.
Impossible d’épingler une quatrième cibleRetirez d’abord l’une des trois épingles existantes.
Just n’est pas installé lors d’une action IAInstallez Just ou utilisez « Créer quand même le ticket » ; cette option n’installe pas le binaire.
Le ticket n’exécute rienRelisez et enregistrez le formulaire, puis configurez un fournisseur IA avant de lancer un agent.

Reproduction des captures

Version documentée : 1.1.8. Jeu de données : docs/demo/Makefile et docs/demo/justfile du plugin. Le banc Playwright exécute de vrais processus locaux et monte les composants Singularity pour les actions, la confirmation, le formulaire et les deux onglets Marketplace. Le stockage des tickets est isolé pour le test ; ni le service de production ni un fournisseur IA ne sont exercés. Voir docs/capture.md dans les sources pour la commande exacte.

Continuer avec Singularity

Ce plugin s’utilise dans un espace de travail Singularity. Consultez les permissions et les conditions de licence dans le Marketplace avant de l’activer.

À découvrir aussi