Skip to content

Comments

Fix actionlint matched_command undefined in pre_activation outputs#17498

Merged
pelikhan merged 3 commits intomainfrom
copilot/fix-actionlint-matched-command-error
Feb 21, 2026
Merged

Fix actionlint matched_command undefined in pre_activation outputs#17498
pelikhan merged 3 commits intomainfrom
copilot/fix-actionlint-matched-command-error

Conversation

Copy link
Contributor

Copilot AI commented Feb 21, 2026

  • Identify root cause: compiler conditionally emitted matched_command only for slash-command workflows, but known_needs_expressions.go always references it
  • Fix compiler_activation_jobs.go: always emit matched_command in pre_activation outputs ('' for non-command, step output for command workflows)
  • Update 3 golden test files to include matched_command: '' in expected pre_activation outputs
  • Run make recompile — 157/157 workflows compiled successfully
  • Merge origin/main into branch
  • Rebuild and recompile after merge — 157/157 workflows compiled successfully
  • All targeted tests pass (TestPreActivation*, TestSlashCommand*, TestKnownNeeds*, TestWasmGolden*)
Original prompt

This section details on the original issue you should resolve

<issue_title>[plan] Fix actionlint matched_command undefined in pre_activation outputs for 37 workflows</issue_title>
<issue_description>## Context

From discussion #17412 — Static Analysis Report 2026-02-21.

Problem

Actionlint reports 37 expression type errors across 37 compiled workflow files because the pre_activation job's outputs: block (once added) does not include matched_command. Jobs that reference needs.pre_activation.outputs.matched_command fail actionlint type checking.

Error: property "matched_command" is not defined in object type {activated: string}

This is a related but separate fix to the outputs: block issue — it affects workflows that use slash-command matching and reference matched_command specifically.

Affected Workflows (first 20 of 37)

agent-performance-analyzer, agent-persona-explorer, ai-moderator, auto-triage-issues, breaking-change-checker, changeset, ci-doctor, code-scanning-fixer, code-simplifier, daily-file-diet, daily-issues-report, daily-observability-report, daily-safe-output-optimizer, daily-team-status, daily-testify-uber-super-expert, dependabot-burner, dev-hawk, example-custom-error-patterns, firewall-escape, issue-monster ... and 17 more.

Steps

  1. Confirm fix from the pre_activation outputs issue also adds matched_command to the outputs block
  2. Check if the compiler conditionally emits matched_command only for slash-command workflows — if so, ensure the output is always declared (or declared when needed)
  3. Run make recompile and verify actionlint passes for all 37 affected workflows
  4. Run make agent-finish before committing

Acceptance Criteria

  • All 37 workflows with matched_command expression errors pass actionlint after recompile
  • Compiler correctly emits matched_command in pre_activation outputs for applicable workflows
  • All existing tests pass (make test-unit)

Generated by Plan Command for issue #discussion #17412

  • expires on Feb 23, 2026, 12:57 PM UTC

Comments on the Issue (you are @copilot in this section)


🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

@pelikhan
Copy link
Contributor

@copilot keep working

Always declare matched_command in pre_activation outputs so actionlint
can resolve the type. For non-command workflows, emit empty string ''.
For command workflows, reference the check_command_position step output.

This fixes 37 actionlint type errors across 37 compiled workflow files
where GH_AW_NEEDS_PRE_ACTIVATION_OUTPUTS_MATCHED_COMMAND referenced
needs.pre_activation.outputs.matched_command but the output was not
declared in the pre_activation job.

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Feb 21, 2026

@copilot keep working

Done! Fixed in feec83d.

Root cause: the compiler only emitted matched_command in pre_activation outputs for slash-command workflows, but known_needs_expressions.go always generates a GH_AW_NEEDS_PRE_ACTIVATION_OUTPUTS_MATCHED_COMMAND env var mapping (referencing needs.pre_activation.outputs.matched_command) for all workflows, causing 37 actionlint type errors.

Fix: always declare matched_command in pre_activation outputs — using '' for non-command workflows, and the step output reference for command workflows. Updated 3 golden test files and recompiled all 157 workflow lock files.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw ,short (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw GO111MODULE 64/bin/go /usr/bin/gh exec�� -- echo ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet -json GO111MODULE 64/bin/go ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet (http block)
  • https://api.github.com/repos/actions/ai-inference/git/ref/tags/v1
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha -json GO111MODULE 8167385/b358/vet.cfg GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/node/24.13.0/x64/bin/node GOINSECURE GOMOD GOMODCACHE /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha --show-toplevel git /home/REDACTED/work/gh-aw/node_modules/.bin/node --show-toplevel LLHK96I/vmtrAJLFrev-parse /usr/bin/git node /hom�� --write l 9669053/b418/vet.cfg **/*.json --ignore-path ../../../.pretti--show-toplevel sh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha tructions-test-1245520998/.githu--workflow TestWasmGolden_CompileFixtures ache/go/1.25.0/x64/pkg/tool/linu--limit l git /usr/bin/git ache/go/1.25.0/x64/pkg/tool/linux_amd64/link rev-�� 596671/b433/scripts.test git 596671/b433/importcfg.link w/js/**/*.json&#39; git git /usr/bin/git oVmVZ-il-gabD/iqRkfbglhY-Gn4fIQTAb/2MKeL86BOM2siFyPOPt7/VcIUBuooTest User (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/11bd71901bbe5b1630ceea73d27597364c9af683
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/11bd71901bbe5b1630ceea73d27597364c9af683 --jq .object.sha (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v3
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha g_.a GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env N5JhWJg9y GO111MODULE ache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE ortcfg (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha *.json&#39; &#39;!../../../pkg/workflow/js/**/*.json&#39; ---errorsas infocmp /usr/bin/git xterm-color -tests /usr/bin/git git rev-�� --show-toplevel git k/gh-aw/gh-aw/actions/setup/js/node_modules/.bin/node user.email test@example.comrev-parse /opt/hostedtoolc--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha --show-toplevel git 64/pkg/tool/linux_amd64/compile --show-toplevel resolved$ /usr/bin/git 64/pkg/tool/linux_amd64/compile /hom�� 3229764547 **/*.cjs cfg **/*.json --ignore-path ../../../.pretti--show-toplevel sh (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v4 --jq .object.sha vaScript1329955070/001/test-simpv1.0.0 GO111MODULE 0/x64/bin/node GOINSECURE GOMOD GOMODCACHE go t-ha�� SameOutput2939699390/001/stability-test.md GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v4 --jq .object.sha brave.md GO111MODULE /opt/hostedtoolcache/go/1.25.0/x-test.short=true GOINSECURE GOMOD GOMODCACHE go env runs/20260221-163424-29323/test-63025002/.github/workflows GO111MODULE 8167385/b364/vet.cfg GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v4 --jq .object.sha user.email test@example.com /usr/bin/unpigz -json GO111MODULE 64/bin/go /usr/bin/unpigz -d -c sh /usr/bin/git &#34;prettier&#34; --chegit GOPROXY 64/bin/go git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v5
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/pkg/tool/linux_amd64/cgo GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linu1 (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha ithub/workflows/blog-auditor.md GOPROXY 8167385/b419=&gt; GOSUMDB GOWORK 64/bin/go git rev-�� 6A5H/nHN5inHPfiWbQ29M6A5H rtcfg /usr/bin/git g/fileutil/fileugit g/fileutil/fileurev-parse 64/bin/go /usr/bin/git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha user.email test@example.com /usr/bin/git --check **/*.cjs 64/bin/go git conf�� --get remote.origin.url /usr/bin/gh -json GO111MODULE 64/bin/go gh (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v7
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v7 --jq .object.sha (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v8
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha GOSUMDB GOWORK 64/bin/go GOINSECURE GOMOD GOMODCACHE go m/_n�� -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha ck &#39;scripts/**/*GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/actions/setup-go/git/ref/tags/4dc6199c7b1a012772edbd06daecab0f50c9053c
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/4dc6199c7b1a012772edbd06daecab0f50c9053c --jq .object.sha (http block)
  • https://api.github.com/repos/actions/setup-go/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha -json GO111MODULE Name,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle GOINSECURE GOMOD GOMODCACHE go env runs/20260221-163424-29323/test-63025002/.github/workflows GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha te &#39;../../../**/*.json&#39; &#39;!../../../pkg/workflow/js/**/*.json&#39; --ignore-path ../../../.prettieriggit node 0/x64/bin/node /tmp/TestHashStagit node /usr/bin/git git t-ha�� ithub/workflows/auto-triage-issues.md git 0/x64/bin/node --show-toplevel go /usr/bin/infocmp--show-toplevel sh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha /ref/tags/v8 infocmp /usr/bin/sed xterm-color git /usr/bin/git sed -e s,@VERSION@,8.3, /usr/bin/git /usr/sbin/bash -v git er bash (http block)
  • https://api.github.com/repos/actions/setup-go/git/ref/tags/v5
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v5 --jq .object.sha (http block)
  • https://api.github.com/repos/actions/setup-go/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v6 --jq .object.sha (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha les.test GO111MODULE ortcfg.link GOINSECURE GOMOD GOMODCACHE N5inHPfiWbQ29M6A5H/liMzR8Ds-CnfJ51RFpkM/6HJcGCc2Qt5lJ-lnkNpl env runs/20260221-163424-29323/test-964166807/.github/workflows GO111MODULE g_.a l GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha --show-toplevel git on rkflow/js/**/*.jgit node erignore git rev-�� itattributes-test1518179008/.github/workflows git ache/node/24.13.0/x64/bin/node l go /usr/bin/gh sh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha 6 git ache/node/24.13.0/x64/bin/node --show-toplevel infocmp repository(owne--show-toplevel sed t-37�� sistency_GoAndJavaScript1416142324/001/test-empty-frontmatter.md /usr/bin/git /usr/local/sbin/bash --get-regexp ^remote\..*\.gh-rev-parse /bin/sh bash (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq .object.sha (http block)
  • https://api.github.com/repos/anchore/sbom-action/git/ref/tags/v0
    • Triggering command: /usr/bin/gh gh api /repos/anchore/sbom-action/git/ref/tags/v0 --jq .object.sha (http block)
  • https://api.github.com/repos/docker/build-push-action/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/docker/build-push-action/git/ref/tags/v6 --jq .object.sha (http block)
  • https://api.github.com/repos/docker/login-action/git/ref/tags/v3
    • Triggering command: /usr/bin/gh gh api /repos/docker/login-action/git/ref/tags/v3 --jq .object.sha (http block)
  • https://api.github.com/repos/docker/metadata-action/git/ref/tags/v5
    • Triggering command: /usr/bin/gh gh api /repos/docker/metadata-action/git/ref/tags/v5 --jq .object.sha (http block)
  • https://api.github.com/repos/docker/setup-buildx-action/git/ref/tags/v3
    • Triggering command: /usr/bin/gh gh api /repos/docker/setup-buildx-action/git/ref/tags/v3 --jq .object.sha ./cmd/gh-aw (http block)
    • Triggering command: /usr/bin/gh gh api /repos/docker/setup-buildx-action/git/ref/tags/v3 --jq .object.sha (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/1/artifacts
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 ipts.test 64/bin/node /repos/test-ownegit --jq /usr/bin/git git tion�� 999 git son ignore go ache/node/24.13.--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 git on rkflow/js/**/*.jgit git erignore git rev-�� --show-toplevel git p/bin/bash ./../.prettierig/opt/hostedtoolcache/node/24.13.0/x64/bin/node git /opt/hostedtoolcache/node/24.13.user.name sh (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12345/artifacts
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go estl�� -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 0/x64/bin/node tions/setup/node_modules/.bin/node sistency_GoAndJagit GOPROXY (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 git ash --show-toplevel git /usr/bin/git git rev-�� --show-toplevel git /home/REDACTED/work/gh-aw/gh-aw/node_modules/.bin/node ./../.prettierig/opt/hostedtoolcache/node/24.13.0/x64/bin/node e/git /usr/bin/git node (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12346/artifacts
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go estl�� -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 0/x64/bin/node tions/node_modules/.bin/node --show-toplevel GOPROXY /usr/bin/git git tion�� agent-persona-explorer.md git 0/x64/bin/node /tmp/gh-aw-test-git config /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 git ndor/bin/bash --show-toplevel git ache/node/24.13.--show-toplevel git rev-�� --show-toplevel ache/node/24.13.0/x64/bin/node /home/REDACTED/work/gh-aw/gh-aw/actions/node_modules/.bin/node ./../.prettieriggit rev-parse /usr/bin/git node (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/2/artifacts
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 infocmp /usr/bin/git runs/20260221-16git GOPROXY /usr/bin/git git rev-�� --show-toplevel git ache/go/1.25.0/x64/bin/gofmt ignore (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 git bin/bash rkflow/js/**/*.jgit git erignore Ak/7pUYhiCXmH5OqEcpfvdo/o0B279itiOkEiw7c7cki rev-�� --show-toplevel git bash --show-toplevel git /usr/bin/git sh (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/3/artifacts
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/link 0/x64/bin/node /tmp/go-build187git -importcfg /usr/bin/git git tion�� --show-toplevel git son ignore remote.origin.urrev-parse /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 git on rkflow/js/**/*.j/opt/hostedtoolcache/node/24.13.0/x64/bin/node git erignore git rev-�� --show-toplevel git nfig/composer/vendor/bin/bash ./../.prettieriggit git /usr/bin/git sh (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/4/artifacts
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 n.go etadata/main.go 8167385/b421/_pkgit --json 8167385/b421=&gt; git rev-�� fully&#34; st.go ache/go/1.25.0/x64/bin/gofmt ignore rev-parse /usr/bin/git ache/go/1.25.0/x64/bin/gofmt (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 git on rkflow/js/**/*.jgit git erignore git rev-�� --show-toplevel ache/node/24.13.0/x64/bin/node tnet/tools/bash ./../.prettieriggit git /usr/bin/git sh (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/5/artifacts
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 test.go o asm.go -test.v=true t.go tegration_test.go st.g�� o git 0/x64/bin/node ignore config /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 n/TestWasmGolden_CompileFixtures/basic-copilot.golden ache/go/1.25.0/x64/bin/bash rkflow/js/**/*.jgit git erignore git rev-�� --show-toplevel git ash ache/go/1.25.0/xgit git /usr/bin/git sh (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path GOSUMDB GOWORK 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 100 GOMOD GOMODCACHE go env D5Fl/nyDitkKl7PsGOSUMDB GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE 740194/b389/importcfg (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 6 GOMOD GOMODCACHE x_amd64/vet env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/a70c5eada06553e3510ac27f2c3bda9d3705bccb
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/a70c5eada06553e3510ac27f2c3bda9d3705bccb --jq .object.sha (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha --show-toplevel go /usr/bin/git -json GO111MODULE ache/go/1.25.0/x/tmp/gh-aw-test-runs/20260221-163621-33427/test-186706949/.github/workflows git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 64/pkg/tool/linu--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha --show-toplevel sh /usr/bin/git &#34;prettier&#34; --wrigit /usr/bin/git /opt/hostedtoolcuser.email git rev-�� */*.ts&#39; &#39;**/*.jsgo1.25.0 sh de_modules/.bin/-nolocalimports &#34;prettier&#34; --wrigit l /opt/hostedtoolc--get git (http block)
  • https://api.github.com/repos/githubnext/agentics/git/ref/tags/
    • Triggering command: /usr/bin/gh gh api /repos/githubnext/agentics/git/ref/tags/# --jq .object.sha (http block)
  • https://api.github.com/repos/nonexistent/action/git/ref/tags/v999.999.999
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env 1392636503/.githgo1.25.0 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha w/js/**/*.json&#39; --ignore-path go /usr/bin/git 3424-29323/test-git GO111MODULE .cfg git rev-�� --show-toplevel go /usr/bin/infocmp -json GO111MODULE 0/x64/bin/node pQJgP8Y/nAkX9ZDM^remote\..*\.gh-resolved$ (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha run --auto x_amd64/link --detach **/*.cjs /home/REDACTED/.lo--show-toplevel x_amd64/link rev-�� ub/workflows sh bin/sh &#34;prettier&#34; --wrigit git /usr/bin/git git (http block)
  • https://api.github.com/repos/nonexistent/repo/actions/runs/12345
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion GOINSECURE GOMOD GOMODCACHE x_amd64/compile env -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion --show-toplevel -goversion /usr/bin/git 64/pkg/tool/linux_amd64/vet rev-�� --show-toplevel git k/gh-aw/gh-aw/actions/node_modules/.bin/node /home/REDACTED/worgit /home/REDACTED/worrev-parse /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion ./../.prettieriggit rev-parse /usr/bin/git ache/go/1.25.0/x64/pkg/tool/linux_amd64/cgo -c npx prettier --write &#39;**/*.cjs&#39; &#39;**/*.ts&#39; &#39;**/*.json&#39; --ignore-path ../../../.pr.prettierignore git util.test --show-toplevel 4 -type d -namerun /usr/bin/git util.test (http block)
  • https://api.github.com/repos/owner/repo/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo 64/bin/go GOINSECURE GOMOD GOMODCACHE ache/go/1.25.0/xGO111MODULE env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE ; \ fi (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo 64/bin/go GOINSECURE GOMOD GOMODCACHE ache/go/1.25.0/xGO111MODULE env 740194/b357/_pkgGOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo /usr/bin/git -json GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE ache/go/1.25.0/x&#34;prettier&#34; --write &#39;../../../**/*.json&#39; &#39;!../../../pkg/workflow/js/**/*.json&#39; ---errorsas git (http block)
  • https://api.github.com/repos/owner/repo/contents/file.md
    • Triggering command: /tmp/go-build1878167385/b380/cli.test /tmp/go-build1878167385/b380/cli.test -test.testlogfile=/tmp/go-build1878167385/b380/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true GOINSECURE GOMOD GOMODCACHE go env ck &#39;scripts/**/*GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /tmp/go-build1419669053/b380/cli.test /tmp/go-build1419669053/b380/cli.test -test.testlogfile=/tmp/go-build1419669053/b380/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true -json GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git &#34;; \ else \ echo &#34;��� Warning: .github/aw/actions-lock.json does not exist yet&#34;; \ fi GO111MODULE 64/pkg/tool/linunpx prettier --write &#39;../../../**/*.json&#39; &#39;!../../../pkg/workflow/js/**/*.json&#39; --ignore-path ../../../.prettierignore git (http block)
    • Triggering command: /tmp/go-build332596671/b380/cli.test /tmp/go-build332596671/b380/cli.test -test.testlogfile=/tmp/go-build332596671/b380/testlog.txt -test.paniconexit0 -test.timeout=10m0s rev-�� --show-toplevel git ode_modules/.bin/node te &#39;**/*.cjs&#39; &#39;*bash git k/gh-aw/gh-aw/ac--noprofile git rev-�� --show-toplevel git /usr/bin/git --show-toplevel git ache/go/1.25.0/x64/pkg/tool/linu--write git (http block)
  • https://api.github.com/repos/test-owner/test-repo/actions/secrets
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name GOSUMDB GOWORK 64/bin/go GOINSECURE GOMOD ode-gyp-bin/sh go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name --show-toplevel go /usr/bin/git PATH&#34; GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE ache/go/1.25.0/x&#34;prettier&#34; --write &#39;../../../**/*.json&#39; &#39;!../../../pkg/workflow/js/**/*.json&#39; ---errorsas git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name --show-toplevel git /usr/bin/git --show-toplevel /opt/hostedtoolc--norc 0/x64/bin/node git rev-�� on&#39; --ignore-path ../../../.prettierignore git ode_modules/.bin/sh ithub/workflows//opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet git (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI changed the title [WIP] Fix actionlint matched_command undefined in pre_activation outputs Fix actionlint matched_command undefined in pre_activation outputs Feb 21, 2026
@pelikhan
Copy link
Contributor

@copilot merge main and recompile

Copy link
Contributor Author

Copilot AI commented Feb 21, 2026

@copilot merge main and recompile

Done in 580576a. Merged origin/main, rebuilt, and recompiled all 157 workflows successfully.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/11bd71901bbe5b1630ceea73d27597364c9af683
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/11bd71901bbe5b1630ceea73d27597364c9af683 --jq .object.sha (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v7
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v7 --jq .object.sha (http block)
  • https://api.github.com/repos/actions/setup-go/git/ref/tags/4dc6199c7b1a012772edbd06daecab0f50c9053c
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/4dc6199c7b1a012772edbd06daecab0f50c9053c --jq .object.sha (http block)
  • https://api.github.com/repos/actions/setup-go/git/ref/tags/v5
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v5 --jq .object.sha (http block)
  • https://api.github.com/repos/actions/setup-go/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v6 --jq .object.sha (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v6 --jq .object.sha -c=4 -nolocalimports -importcfg /tmp/go-build3786252661/b062/importcfg -pack /home/REDACTED/work/gh-aw/gh-aw/pkg/cli/access_log.go /home/REDACTED/work/gh-aw/gh-aw/pkg/cli/actionlint.go (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq .object.sha (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq .object.sha -c=4 -nolocalimports -importcfg /tmp/go-build3786252661/b279/importcfg -embedcfg /tmp/go-build3786252661/b279/embedcfg -pack (http block)
  • https://api.github.com/repos/anchore/sbom-action/git/ref/tags/v0
    • Triggering command: /usr/bin/gh gh api /repos/anchore/sbom-action/git/ref/tags/v0 --jq .object.sha (http block)
  • https://api.github.com/repos/docker/build-push-action/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/docker/build-push-action/git/ref/tags/v6 --jq .object.sha (http block)
  • https://api.github.com/repos/docker/login-action/git/ref/tags/v3
    • Triggering command: /usr/bin/gh gh api /repos/docker/login-action/git/ref/tags/v3 --jq .object.sha (http block)
  • https://api.github.com/repos/docker/metadata-action/git/ref/tags/v5
    • Triggering command: /usr/bin/gh gh api /repos/docker/metadata-action/git/ref/tags/v5 --jq .object.sha (http block)
  • https://api.github.com/repos/docker/setup-buildx-action/git/ref/tags/v3
    • Triggering command: /usr/bin/gh gh api /repos/docker/setup-buildx-action/git/ref/tags/v3 --jq .object.sha /gh-aw (http block)
    • Triggering command: /usr/bin/gh gh api /repos/docker/setup-buildx-action/git/ref/tags/v3 --jq .object.sha (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/a70c5eada06553e3510ac27f2c3bda9d3705bccb
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/a70c5eada06553e3510ac27f2c3bda9d3705bccb --jq .object.sha (http block)
  • https://api.github.com/repos/githubnext/agentics/git/ref/tags/
    • Triggering command: /usr/bin/gh gh api /repos/githubnext/agentics/git/ref/tags/# --jq .object.sha (http block)

If you need me to access, download, or install something from one of these locations, you can either:

@pelikhan pelikhan marked this pull request as ready for review February 21, 2026 17:03
Copilot AI review requested due to automatic review settings February 21, 2026 17:04
@pelikhan pelikhan merged commit 814605e into main Feb 21, 2026
@pelikhan pelikhan deleted the copilot/fix-actionlint-matched-command-error branch February 21, 2026 17:04
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Ensures pre_activation job outputs always declare matched_command so actionlint can type-check expressions that reference needs.pre_activation.outputs.matched_command.

Changes:

  • Update the workflow compiler to always emit matched_command in pre_activation outputs ('' for non-command workflows).
  • Regenerate compiled .lock.yml workflows to include matched_command: '' where applicable.
  • Update WASM golden fixtures to reflect the new pre_activation outputs shape.

Reviewed changes

Copilot reviewed 42 out of 42 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
pkg/workflow/compiler_activation_jobs.go Always declares matched_command in pre_activation job outputs to avoid actionlint “undefined property” errors.
pkg/workflow/testdata/wasm_golden/TestWasmGolden_CompileFixtures/with-imports.golden Updates expected pre_activation.outputs to include matched_command: ''.
pkg/workflow/testdata/wasm_golden/TestWasmGolden_CompileFixtures/smoke-copilot.golden Updates expected pre_activation.outputs to include matched_command: ''.
pkg/workflow/testdata/wasm_golden/TestWasmGolden_CompileFixtures/basic-copilot.golden Updates expected pre_activation.outputs to include matched_command: ''.
.github/workflows/workflow-health-manager.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/workflow-generator.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/ubuntu-image-analyzer.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/smoke-test-tools.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/smoke-temporary-id.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/smoke-project.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/smoke-multi-pr.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/smoke-gemini.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/smoke-copilot.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/smoke-copilot-arm.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/smoke-codex.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/smoke-claude.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/smoke-agent.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/slide-deck-maintainer.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/release.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/refiner.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/metrics-collector.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/issue-monster.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/firewall-escape.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/example-custom-error-patterns.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/dev-hawk.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/dependabot-burner.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/daily-testify-uber-super-expert.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/daily-team-status.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/daily-safe-output-optimizer.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/daily-rendering-scripts-verifier.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/daily-observability-report.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/daily-issues-report.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/daily-file-diet.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/code-simplifier.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/code-scanning-fixer.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/ci-doctor.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/changeset.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/breaking-change-checker.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/auto-triage-issues.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/ai-moderator.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/agent-persona-explorer.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.
.github/workflows/agent-performance-analyzer.lock.yml Regenerated compiled workflow to declare matched_command: '' in pre_activation outputs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +319 to 326
// Always declare matched_command output so actionlint can resolve the type.
// For command workflows, reference the check_command_position step output.
// For non-command workflows, emit an empty string so the output key is defined.
if len(data.Command) > 0 {
outputs[constants.MatchedCommandOutput] = fmt.Sprintf("${{ steps.%s.outputs.%s }}", constants.CheckCommandPositionStepID, constants.MatchedCommandOutput)
} else {
outputs[constants.MatchedCommandOutput] = "''"
}
Copy link

Copilot AI Feb 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new behavior (always declaring matched_command even when data.Command is empty) isn’t covered by unit tests. All existing buildPreActivationJob tests set Command, so a regression could reintroduce the actionlint error for non-command workflows. Add a test case that builds a pre-activation job with Command: nil/empty and asserts job.Outputs includes matched_command with an empty-string YAML literal (and does not reference steps.check_command_position).

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[plan] Fix actionlint matched_command undefined in pre_activation outputs for 37 workflows

2 participants