microcks / microcks/microcks-cli
CI/CD Pipeline False Positives: `import-dir` Exits with Code 0 on Failures
Nessuno ha ancora preso questa issue.
- Lingua principale
- Go
- Stelle
- 52
- Fork
- 68
- Merge medio
- 6h 54m
- PR unite (30g)
- 10
Descrizione
Describe the bug
Description
The import-dir command scans a directory and attempts to import all matching files. If one or more files fail to import, it records the failure in ImportResult.FailedCount and prints an error message. However, the command runner does not check the failed count to return a non-zero exit code.
Impact
In CI/CD environments (GitHub Actions, Tekton, GitLab CI), the CLI exits with status 0, indicating success even if all API specifications failed to import. This hides deployment failures.
Code Reference
- cmd/importDir.go
Diagram
graph TD
A[Start import-dir] --> B[Scan Directory]
B --> C[Import File 1: Success]
B --> D[Import File 2: FAILED]
C & D --> E[Display Results Summary]
E --> F["Exit Status Code 0 (Success)"]
F --> G["CI/CD pipeline reports green/success despite failures"]
Steps to Reproduce
- Run
microcks import-dir ./specswhere at least one spec has invalid content. - The console displays
✗ Failed: .... - Check the exit code of the process (
echo $?or$LASTEXITCODEin PowerShell). It returns0.
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia in cmd/importDir.go, intorno alle righe 162-200, e segui come viene gestito ImportResult.FailedCount dopo la stampa del riepilogo dell'importazione. Riproduci il problema con una specifica API non valida, quindi verifica che import-dir restituisca uno stato del processo diverso da zero quando vengono registrati degli errori, mentre le importazioni riuscite mantengono lo stato previsto.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- go
- Ambito
- ci-cd, cli
- Tipo di issue
- Bug
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Stato di attività
- Attiva
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 78/100