Skip to content

[Code Quality] Fix deprecated test syntax (SC2166) in 15 workflow files #12109

@github-actions

Description

@github-actions

Description

Shellcheck (SC2166) identified 15 workflows using the deprecated -a operator in test expressions. This should be replaced with && for better portability and POSIX compliance.

Affected Workflows

  1. .github/workflows/ai-moderator.md
  2. .github/workflows/archie.md
  3. .github/workflows/brave.md
  4. .github/workflows/cloclo.md
  5. .github/workflows/craft.md
  6. .github/workflows/dev.md
  7. .github/workflows/dictation-prompt.md
  8. .github/workflows/example-workflow-analyzer.md
  9. .github/workflows/github-mcp-structural-analysis.md
  10. .github/workflows/grumpy-reviewer.md
  11. .github/workflows/jsweep.md
  12. .github/workflows/mcp-inspector.md
  13. .github/workflows/plan.md
  14. .github/workflows/q.md
  15. .github/workflows/sergo.md

Problem Pattern

Problematic Code:

if [ "$a" = "x" -a "$b" = "y" ]; then
  # do something
fi

Correct Code:

if [ "$a" = "x" ] && [ "$b" = "y" ]; then
  # do something
fi

Why This Matters

  • Portability: -a operator may fail on some shells
  • POSIX Compliance: && is the recommended approach
  • Best Practices: Modern shell scripting guidelines prefer &&

Success Criteria

  • All 15 workflows updated to use && instead of -a
  • Workflows recompiled with make recompile
  • No SC2166 warnings in next static analysis scan
  • All existing tests pass

Source

Extracted from Static Analysis Report discussion #12036

Finding: SC2166 - Deprecated Test Syntax (15 occurrences)
Severity: Warning
Priority: Medium
Automation Potential: High

Recommended Approach

  1. Create a script to identify and replace -a patterns
  2. Test on 2-3 workflows first
  3. Deploy in batches of 5 workflows
  4. Run make recompile after each batch
  5. Verify with make lint

Shellcheck Reference

See [SC2166]((redacted) for detailed explanation of this issue.

AI generated by Discussion Task Miner - Code Quality Improvement Agent

  • expires on Feb 10, 2026, 9:06 PM UTC

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions