fix: import command exits early on first failure when importing multiple artifacts

Aperta
#393 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@A-d-i-t-y ci sta già lavorando.

Dal 16/5/2026.

  • #394 di @A-d-i-t-y — aperta

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
65/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
go
Ambito
cli

Direzione di ricerca

Inizia dal punto di ingresso del comando di importazione e individua il percorso corrente di os.Exit(1) utilizzato quando un artefatto non riesce. Esegui un'importazione di più file con un file che non riesce, per osservare il comportamento esistente. Il lavoro è completato quando viene tentato ogni file, viene riportato ogni risultato, viene stampato un riepilogo finale di successo/fallimento e il comando termina con il codice 1 quando un file non riesce.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

component/cli kind/bug

Why we need this improvement:
When importing multiple comma-separated files, if one file fails,
the command immediately exits and remaining files are never imported.
Users have no visibility into which files succeeded and which failed.

How this will help:
All files should be attempted regardless of individual failures.
A summary at the end should show which files succeeded and which failed,
giving users complete feedback in one run.

Motivation:
This is a silent bug in CI/CD pipelines where partial imports can
cause hard-to-debug failures.

Problem

When running:
microcks import "file1.yaml,file2.yaml,file3.yaml"

If file2.yaml fails, the command immediately calls os.Exit(1)
and file3.yaml is never imported. The user has no idea which
files were successfully imported and which were not.

Proposed Fix

  • Collect errors instead of exiting immediately
  • Attempt all files regardless of individual failures
  • Print a summary at the end showing pass/fail for each file
  • Exit with code 1 only if any file failed

Example output after fix

Importing 'file1.yaml'... success
Importing 'file2.yaml'... failed: connection refused
Importing 'file3.yaml'... success

Import completed: 2 succeeded, 1 failed

Lingua principale
Go
Stelle
59
Fork
74
Merge medio
4g 5h
PR unite (30g)
15

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di microcks/microcks-cli

Tutte le issue di microcks/microcks-cli

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.