adding fails and fail skips

This commit is contained in:
2025-11-11 18:04:21 -05:00
parent b6dfca1cf2
commit f88893748a
2 changed files with 13 additions and 3 deletions

View File

@@ -9,12 +9,14 @@ inputs:
description: "what level of issues to show (all|fatal)" description: "what level of issues to show (all|fatal)"
required: false required: false
default: "all" default: "all"
outputs: fail:
report: description: "determines whether or not the workflow fails upon finding fatal issues (yes(default)|no)"
description: "results of the scan" required: false
default: "yes"
runs: runs:
using: docker using: docker
image: Dockerfile image: Dockerfile
env: env:
COMPOSE_FILE_PATH: ${{ inputs.path }} COMPOSE_FILE_PATH: ${{ inputs.path }}
LOG_LEVEL: ${{ inputs.show }} LOG_LEVEL: ${{ inputs.show }}
FAIL_ON_FATAL: ${{ inputs.fail }}

View File

@@ -98,11 +98,15 @@ func main() {
//this is better printing, it should probably group up the port issues in a better printing. Not sure how //this is better printing, it should probably group up the port issues in a better printing. Not sure how
lvl := os.Getenv("LOG_LEVEL") lvl := os.Getenv("LOG_LEVEL")
fatalCount := 0
for _, p := range issues { for _, p := range issues {
fmt.Println() fmt.Println()
fmt.Println("----------------------------------------------------------------------------") fmt.Println("----------------------------------------------------------------------------")
fmt.Println(p.Name) fmt.Println(p.Name)
for _, x := range p.Issues { for _, x := range p.Issues {
if x.Level == issue.FATAL {
fatalCount++
}
if lvl == "all" { if lvl == "all" {
fmt.Printf("\tsafe: %t\n\tlevel: %s\n\tMessages:\n\t\t%s\n\n", x.Safe, x.Level, strings.Join(x.Messages, "\n\t\t")) fmt.Printf("\tsafe: %t\n\tlevel: %s\n\tMessages:\n\t\t%s\n\n", x.Safe, x.Level, strings.Join(x.Messages, "\n\t\t"))
} else if lvl == "fatal" { } else if lvl == "fatal" {
@@ -112,6 +116,10 @@ func main() {
} }
} }
} }
if strings.EqualFold(os.Getenv("FAIL_ON_FATAL"), "yes") {
os.Exit(fatalCount)
}
} }
// ensure cpus and mem_limit are set on the service // ensure cpus and mem_limit are set on the service