Skip to content

mute: true Not Working with --log_level debug #215

@josiblair

Description

@josiblair

Environment

Device and OS:
App version:
Kubernetes distro being used:
Other:

Steps to reproduce

  1. Set up a task to set variables.
tasks:
  - name: ci-setup
     inputs:
        token_one:
            description: First token
            type: string
        token_two:
            description: First token
            type: string
     actions:
        - description: Set TOKEN_ONE variable
           cmd: echo "${{ .inputs.token_one }}"
           mute: true
           setVariables:
              - name: TOKEN_ONE
        - description: Set TOKEN_TWO variables
           cmd: echo "${{ .inputs.token_two }}"
           mute: true
           setVariables:
              - name: TOKEN_TWO
  1. Run the task with --log-level debug flag.
maru run ci-setup --with token_one=abcd1234 --with token_two=efgh5678 --log-level debug

Expected result

When using mute: true with a command that sets variables, the command execution details and output should not be displayed in the console, regardless of the log_level setting.

 NOTE  Saving log file to
       /var/folders/1q/pzvtq0vj4fs1z02x42c6rg6c0000gp/T/zarf-2025-05-08-15-22-50-780110260.log
  DEBUG   2025-05-08T15:22:50-06:00  -  Log level set to "debug"
  DEBUG   2025-05-08T15:22:50-06:00  -  Evaluating action conditional                                                                                                                                               
  ✔  Completed "Set TOKEN_ONE variable"                                                                                                                                                                                     
  DEBUG   2025-05-08T15:22:50-06:00  -  Evaluating action conditional                                                                                                                                      
  ✔  Completed "Set TOKEN_TWO variables"   

The mute: true setting should completely suppress command execution information at all log levels, or at minimum provide a warning that debug mode will override muting.

Actual Result

Commands with mute: true successfully hide their output when log_level is set to info, but when log_level is set to debug, the system still prints:

 NOTE  Saving log file to
       /var/folders/1q/pzvtq0vj4fs1z02x42c6rg6c0000gp/T/zarf-2025-05-08-15-22-50-780110260.log
  DEBUG   2025-05-08T15:22:50-06:00  -  Log level set to "debug"
  DEBUG   2025-05-08T15:22:50-06:00  -  Evaluating action conditional 
  **DEBUG   2025-05-08T15:22:50-06:00  -  Running command in sh: echo "abcd1234"**                                                                                                                                              
  ✔  Completed "Set TOKEN_ONE variable"                                                                                                                                                                                     
  DEBUG   2025-05-08T15:22:50-06:00  -  Evaluating action conditional 
  **DEBUG   2025-05-08T15:22:50-06:00  -  Running command in sh: echo "efgh5678"**                                                                                                                                              
  ✔  Completed "Set TOKEN_TWO variables" 

Visual Proof (screenshots, videos, text, etc)

Severity/Priority

Medium - The issue doesn't prevent functionality from working, but it does expose information that should be hidden according to the configuration, potentially revealing sensitive values.

Additional Context

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions