microcks / microcks/microcks-cli

fix: import-url command exits early on first failure when importing multiple URLs

Aperta Adatta ai principianti
#399 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
Go
Stelle
52
Fork
68
Merge medio
6h 54m
PR unite (30g)
10

Descrizione

Why we need this:
When importing multiple comma-separated URLs, if one URL fails,
the command immediately exits and remaining URLs are never imported.
This is the same issue that was fixed in the import command in PR #394.

How this will help:
All URLs should be attempted regardless of individual failures,
giving users complete feedback in one run.

Motivation:
Consistent behavior across all import commands (import, import-url).

Problem

When running:
microcks import-url "https://url1.yaml,https://url2.yaml,https://url3.yaml"

If url1 fails, os.Exit(1) is called immediately inside the loop
and url2, url3 are never imported.

Looking at cmd/importURL.go:
for _, f := range sepSpecificationFiles {
msg, err := mc.DownloadArtifact(f, mainArtifact, secret)
if err != nil {
os.Exit(1) // exits immediately, remaining URLs skipped
}
}

Same bug as #393, fixed in import command via PR #394.

Fix

  • Collect errors instead of exiting immediately
  • Attempt all URLs regardless of individual failures
  • Exit with code 1 only if any URL failed

Guida per i contributori

Apri la guida per i contributori

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.

Direzione di ricerca

Inizia da cmd/importURL.go e confronta la correzione corrispondente in PR #394 per il comando import. Aggiorna il ciclo import-url in modo che venga tentato ogni URL e che il comando termini con il codice 1 solo quando almeno un’importazione non riesce. Verifica che gli URL successivi vengano comunque elaborati dopo un errore precedente.

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

Valutazione

Stack tecnologico
go
Ambito
cli
Tipo di issue
Bug
Difficoltà
2/5
Tempo stimato
1-3 ore
Stato di attività
Tranquilla
Chiarezza
Specificata chiaramente
Idoneità per principianti
82/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.