Skip to content

[plan] Fix actionlint expression errors in 18 workflows #9123

Closed

Description

@github-actions

Objective

Fix 20 actionlint expression errors across 18 workflow files that reference undefined properties, causing runtime failures.

Context

These errors occur when workflows reference steps.check_command_position.outputs.matched_command or other properties that don't exist in the current job context. This will cause workflow runs to fail when expressions are evaluated.

Root Causes

  1. Missing step references (11 workflows): Job outputs reference steps.check_command_position but the step doesn't exist in that job
  2. Missing job dependencies (beads-worker): References needs.bead.outputs.id without proper needs: declaration
  3. Undefined inputs (beads-worker): References inputs.reason and inputs.state when these inputs aren't defined

Affected Workflows

Priority 1 - Missing check_command_position (11 workflows)

  • archie.lock.yml
  • brave.lock.yml
  • cloclo.lock.yml
  • craft.lock.yml
  • grumpy-reviewer.lock.yml
  • mergefest.lock.yml
  • pdf-summary.lock.yml
  • plan.lock.yml
  • poem-bot.lock.yml
  • pr-nitpick-reviewer.lock.yml
  • q.lock.yml

Priority 2 - Job dependency issues (1 workflow)

  • beads-worker.lock.yml (3 errors: missing job dependency, undefined inputs)

Priority 3 - Other expression errors (6 workflows)

  • daily-assign-issue-to-user.lock.yml
  • daily-secrets-analysis.lock.yml
  • scout.lock.yml
  • speckit-dispatcher.lock.yml
  • tidy.lock.yml
  • unbloat-docs.lock.yml

Fix Approach

For missing check_command_position step

Option 1 - Add the step to the job:

jobs:
  agent:
    outputs:
      slash_command: ${{ steps.check_command_position.outputs.matched_command }}
    steps:
      - id: check_command_position
        run: |
          # Add logic to detect slash command
          echo "matched_command=/command" >> $GITHUB_OUTPUT

Option 2 - Remove unused output:

jobs:
  agent:
    outputs:
      # Remove if not actually used downstream
      # slash_command: ${{ steps.check_command_position.outputs.matched_command }}

Option 3 - Cross-job reference:

jobs:
  check_position:
    outputs:
      matched: ${{ steps.check.outputs.matched_command }}
    steps:
      - id: check
        # step logic
  
  agent:
    needs: check_position
    steps:
      - run: echo "${{ needs.check_position.outputs.matched }}"

For beads-worker job dependency

Add the missing job to needs: array:

jobs:
  process_bead:
    needs: [bead]  # Add this dependency
    steps:
      - run: echo "${{ needs.bead.outputs.id }}"

For undefined inputs

Add missing input definitions:

on:
  workflow_call:
    inputs:
      reason:
        required: false
        type: string
      state:
        required: false
        type: string

Files to Modify

Markdown source files (these will be recompiled):

  • .github/workflows/archie.md
  • .github/workflows/brave.md
  • .github/workflows/cloclo.md
  • .github/workflows/craft.md
  • .github/workflows/grumpy-reviewer.md
  • .github/workflows/mergefest.md
  • .github/workflows/pdf-summary.md
  • .github/workflows/plan.md
  • .github/workflows/poem-bot.md
  • .github/workflows/pr-nitpick-reviewer.md
  • .github/workflows/q.md
  • .github/workflows/beads-worker.md
  • .github/workflows/daily-assign-issue-to-user.md
  • .github/workflows/daily-secrets-analysis.md
  • .github/workflows/scout.md
  • .github/workflows/speckit-dispatcher.md
  • .github/workflows/tidy.md
  • .github/workflows/unbloat-docs.md

Validation Steps

  1. Fix the markdown source file
  2. Recompile with make recompile
  3. Run actionlint on the compiled file: actionlint .github/workflows/{workflow}.lock.yml
  4. Verify no expression errors remain
  5. Test workflow execution if possible

Acceptance Criteria

  • All 20 actionlint expression errors resolved
  • All 18 affected workflows pass actionlint validation
  • Workflows compile successfully without errors
  • No new expression errors introduced
  • Commit message follows conventional commits format

Testing

Run validation after fixes:

make recompile
make lint
gh aw compile --actionlint .github/workflows/{workflow}.md

Related to #9122

AI generated by Plan Command for discussion #9119

Metadata

Metadata

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions