Skip to content

fix: handle multi-line engine.env values as YAML literal block scalars#30240

Merged
pelikhan merged 4 commits intomainfrom
copilot/fix-multi-line-expressions-engine-env
May 5, 2026
Merged

fix: handle multi-line engine.env values as YAML literal block scalars#30240
pelikhan merged 4 commits intomainfrom
copilot/fix-multi-line-expressions-engine-env

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 5, 2026

Multi-line engine.env values (written as >- block scalars with extra-indented continuation lines) cause goccy/go-yaml to preserve embedded newlines in the parsed string. Both env var emission sites in engine_helpers.go emitted single-line key: value pairs, breaking the compiled .lock.yml.

Changes

  • appendEnvVarLine helper — new shared function replacing direct fmt.Sprintf at both env var emission sites. Trims trailing \n (from block scalars), then emits single-line values inline via yamlStringValue or multi-line values as a YAML literal block scalar (|).
  • FormatStepWithCommandAndEnv and GenerateMultiSecretValidationStep — both now delegate to appendEnvVarLine.

Example

Input frontmatter:

engine:
  id: copilot
  env:
    COPILOT_GITHUB_TOKEN: >-
      ${{ secrets.GH_AW_PAT_1 != '' && secrets.GH_AW_PAT_1 ||
          secrets.GH_AW_PAT_2 != '' && secrets.GH_AW_PAT_2 ||
          secrets.GH_AW_PAT_3 }}

Compiled output (was broken, now valid):

        env:
          COPILOT_GITHUB_TOKEN: |
            ${{ secrets.GH_AW_PAT_1 != '' && secrets.GH_AW_PAT_1 ||
                secrets.GH_AW_PAT_2 != '' && secrets.GH_AW_PAT_2 ||
                secrets.GH_AW_PAT_3 }}

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 gh repo view --json owner,name --jq .owner.login + "/" + .name x_amd64/link GOINSECURE GOMOD GOMODCACHE x_amd64/link env /ref/tags/v9.0.0 GO111MODULE sv GOINSECURE fips140/check GOMODCACHE J_/CWrYu2czG7Ca7ylQP4Z8/vCNYLdc7show (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 2419866/b013/ GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linu-tests env ortcfg GO111MODULE tartedAt,updatedAt,event,headBranch,headSha,displayTitle GOINSECURE 2419866/b013/cpuinit ache/go/1.25.8/x64/src/internal/github.event.inputs.enforce_all == 'true' && 'full-sweep (enforce_all)' || 'roun.github/workflows/test.md ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile (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 2419866/b012/ GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile sRem�� 2419866/b090/_pkg_.a rg/x/text@v0.36.0/message/catalog/catalog.go ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE 2419866/b012/indrun ache/go/1.25.8/xlist ache/go/1.25.8/x--json (http block)
  • https://api.github.com/orgs/test-owner/actions/secrets
    • Triggering command: /usr/bin/gh gh api /orgs/test-owner/actions/secrets --jq .secrets[].name -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 /orgs/test-owner/actions/secrets --jq .secrets[].name -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go /pre�� -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (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, .object.type] | @tsv /ref/tags/v9 /opt/hostedtoolcache/go/1.25.8/x--json sv ithub-script/gitgit stmain.go ache/go/1.25.8/x--show-toplevel git rev-�� --show-toplevel ache/go/1.25.8/x64/pkg/tool/linuremote.origin.url /usr/bin/git 4033096/b453/tesgh security 4033096/b453/imp/repos/actions/github-script/git/ref/tags/v9 git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq [.object.sha, .object.type] | @tsv /ref/tags/v9 sh sv npx prettier --cgit =my-default /home/node_modul--show-toplevel git rev-�� --show-toplevel node /usr/bin/git (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, .object.type] | @tsv ithub-script/git/ref/tags/v9 remote.myorg.url (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq [.object.sha, .object.type] | @tsv /ref/tags/v9 -1 sv ub/workflows GO111MODULE 64/bin/go /usr/bin/git remo�� -v go /usr/bin/git -json GO111MODULE bin/sh 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, .object.type] | @tsv 5627-53495/test-2278063326 -trimpath 4033096/b287/vet.cfg -p unicode/utf16 -lang=go1.25 /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/compile -o /tmp/go-build2102419866/b141/_pkg_.a =my-default /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet -p github.com/model-1 -lang=go1.25 /opt/hostedtoolcache/go/1.25.8/x^remote\..*\.gh-resolved$ (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq [.object.sha, .object.type] | @tsv ithub-script/git/ref/tags/v9 git bject.type] | @tsv -m initial commit /usr/bin/git git rev-�� ithub-script/git/ref/tags/v9 git bject.type] | @tsv ithub-script/gitgit remote bject.type] | @t--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq [.object.sha, .object.type] | @tsv k/_tool infocmp /usr/bin/infocmp xterm-color ache/go/1.25.8/xrev-parse /usr/bin/infocmp--show-toplevel infocmp -1 xterm-color infocmp /home/REDACTED/.local/bin/node xterm-color ache/go/1.25.8/xrev-parse /usr/bin/gh node (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, .object.type] | @tsv 5627-53495/test-3928703680 --jq 4033096/b460=> ." --check 64/bin/go /usr/lib/git-core/git --gi�� 2102780594 --format=%(objectname) /usr/bin/git -json GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv /repos/actions/github-script/git/ref/tags/v9 --jq /usr/bin/git 1 2/work 64/bin/go git -C /tmp/compile-all-instructions-test-662202510/.giremote.origin.url rev-parse /usr/bin/git -json GO111MODULE x_amd64/compile git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv /ref/tags/v9 x_amd64/asm sv -json GO111MODULE x_amd64/compile git remo�� GOMODCACHE x_amd64/compile /usr/bin/unpigz 733853738/001 733853738/002/worev-parse x_amd64/compile /usr/bin/unpigz (http block)
  • https://api.github.com/repos/actions/download-artifact/git/ref/tags/v8
    • Triggering command: /usr/bin/gh gh api /repos/actions/download-artifact/git/ref/tags/v8 --jq [.object.sha, .object.type] | @tsv test-5tGMx3/text-output.go main $name) { hasDiscussionsEnabled } } --require /home/REDACTED/wor-C ndor/bin/git git ler-�� ithub/workflows false repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } --require 431b34aa..4a47b5api k/_temp/uv-pytho/repos/docker/setup-buildx-action/git/ref/tags/v4 /opt/hostedtoolc--jq (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/download-artifact/git/ref/tags/v8 --jq [.object.sha, .object.type] | @tsv 954300/b001/exe/text-output main 3 --require /home/REDACTED/worapi run-script/lib/ngraphql 7rEDs8FdxQSWw/Ix-f ler-�� ithub/workflows false thon3 process.stderr.w/usr/bin/gh ser:token@githubapi ndor/bin/git /opt/hostedtoolc-f (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/download-artifact/git/ref/tags/v8 --jq [.object.sha, .object.type] | @tsv /repos/actions/github-script/git/ref/tags/v9 --jq me: String!) { repository(owner: $owner, name:-f -q ings.cjs DiscussionsEnabl/home/REDACTED/work/gh-aw/gh-aw/.github/workflows infocmp -1 /ref/tags/v9 forks.js sv user.name Test bin/git git (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, .object.type] | @tsv xterm-color git /usr/bin/git user.name Test User /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git GOMODCACHE resolved$ /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq [.object.sha, .object.type] | @tsv xterm-color git /usr/bin/git --show-toplevel go /usr/bin/infocmp--show-toplevel git rev-�� --show-toplevel infocmp /usr/bin/git xterm-color go /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v9
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv go1.25.8 -c=4 -nolocalimports -importcfg /tmp/go-build2102419866/b237/importcfg -pack /home/REDACTED/go/pkg/mod/golang.org/x/text@v0.36.0/message/catalog.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/v9 --jq [.object.sha, .object.type] | @tsv "prettier" --che-p go 64/bin/go tierignore GO111MODULE 64/bin/go 0GXogzJW_IN_ 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/v9 --jq [.object.sha, .object.type] | @tsv -c=4 -nolocalimports -importcfg /tmp/go-build2404033096/b398/importcfg -embedcfg /tmp/go-build2404033096/b398/embedcfg -pack env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v9.0.0
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9.0.0 --jq [.object.sha, .object.type] | @tsv go1.25.8 -c=4 -nolocalimports -importcfg /tmp/go-build2102419866/b246/importcfg -pack /home/REDACTED/go/pkg/mod/golang.org/x/text@v0.36.0/message/catalog/catalog.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/v9.0.0 --jq [.object.sha, .object.type] | @tsv ." --check 64/bin/go --ignore-path .prettierignore 64/bin/go 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/v9.0.0 --jq [.object.sha, .object.type] | @tsv --check scripts/**/*.js 64/bin/go -d GO111MODULE 64/bin/go go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (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, .object.type] | @tsv /repos/actions/github-script/git/ref/tags/v9 --jq /usr/bin/gh /ref/tags/v9.0.0infocmp -trimpath sv gh api /repos/actions/github-script/git/ref/tags/v9 --jq /usr/bin/git ithub/workflows pkg/mod/golang.orev-parse /opt/hostedtoolc--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/gh /ref/tags/v9 GO111MODULE sv gh api /repos/actions/github-script/git/ref/tags/v9 --jq /usr/bin/git ithub-script/gitgit GO111MODULE e/git git (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, .object.type] | @tsv GOMODCACHE (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv xterm-color /opt/hostedtoolc--jq /usr/bin/infocmp st-662202510/.gigh -trimpath /opt/hostedtoolc/repos/actions/github-script/git/ref/tags/v9 infocmp -1 xterm-color /opt/hostedtoolcache/go/1.25.8/xtest@example.com (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv ithub-script/git/ref/tags/v9 git bject.type] | @tsv r-test190704916/git r-test190704916/rev-parse /opt/hostedtoolc--show-toplevel git rev-�� /ref/tags/v9 /opt/hostedtoolcache/go/1.25.8/x--jq sv s/test.md -buildtags /usr/bin/git git (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, .object.type] | @tsv --show-toplevel l /usr/bin/git prettier --check 64/bin/go git ls-r�� 2102780594 origin /usr/bin/git -json GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv --show-toplevel go om/testorg/testrepo.git -json GO111MODULE 64/bin/go git -C /tmp/compile-all-instructions-test-662202510/.github/workflows remote /usr/bin/git 01 GO111MODULE x_amd64/compile git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv --show-toplevel x_amd64/compile /usr/bin/git -json GO111MODULE x_amd64/compile git conf�� user.name Test User /usr/bin/git -json @v6.0.2/kind/kinrev-parse x_amd64/compile git (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv 5627-53495/test-2102780594 x_amd64/asm /usr/bin/git -json GO111MODULE x_amd64/compile git init�� GOMODCACHE x_amd64/compile /usr/bin/git -json GO111MODULE x_amd64/vet git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv --show-toplevel go om/owner/repo.git -json GO111MODULE 64/bin/go git conf�� --get remote.origin.url /usr/bin/gh 0159796/001 0159796/002/workrev-parse nch,headSha,disp--show-toplevel gh (http block)
  • https://api.github.com/repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq [.object.sha, .object.type] | @tsv HEAD ode_modules/vite--conditions rgo/bin/git 799b5505a3abf6e3gh --stdout modules/@npmcli//repos/actions/github-script/git/ref/tags/v9 ode_modules/vite--jq init�� -q 1/x64/bin/node 64/bin/git --is-ancestor tions/setup/js/n-C t git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq [.object.sha, .object.type] | @tsv . ode_modules/vitest/dist/workers/forks.js de_modules/.bin/git t git 1/x64/bin/node git init�� -q J5PH/.diffsize.tmp rgo/bin/git --is-ancestor tions/setup/js/n-1 1/x64/bin/node git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq [.object.sha, .object.type] | @tsv ithub-script/git/ref/tags/v9 git (http block)
  • https://api.github.com/repos/aws-actions/configure-aws-credentials/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/aws-actions/configure-aws-credentials/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv --show-toplevel git /usr/bin/git /tmp/TestGuardPogit 4033096/b460/_terev-parse /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel s/test.md /opt/hostedtoolcstatus git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/aws-actions/configure-aws-credentials/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv --show-toplevel git /usr/bin/git /tmp/TestGuardPogh remote /usr/bin/git git rev-�� /ref/tags/v9 git sv /tmp/gh-aw-test-git remote /opt/hostedtoolc--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/aws-actions/configure-aws-credentials/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv --show-toplevel /usr/bin/git /usr/bin/git -v go /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git /tmp/TestGuardPogh config /opt/hostedtoolcstatus git (http block)
  • https://api.github.com/repos/azure/login/git/ref/tags/v2
    • Triggering command: /usr/bin/gh gh api /repos/azure/login/git/ref/tags/v2 --jq [.object.sha, .object.type] | @tsv --show-toplevel git /usr/bin/git /tmp/TestGuardPogit rev-parse /usr/bin/git git rev-�� --show-toplevel git /usr/bin/gh /tmp/gh-aw-test-infocmp l /usr/bin/infocmpxterm-color gh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/azure/login/git/ref/tags/v2 --jq [.object.sha, .object.type] | @tsv --show-toplevel /usr/bin/git /usr/bin/git -v go e/git git rev-�� --show-toplevel e/git /usr/bin/gh /tmp/TestGuardPoinfocmp rev-parse /usr/bin/gh gh (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, .object.type] | @tsv ithub-script/git/ref/tags/v9 git bject.type] | @tsv ithub-script/gitgit remote bject.type] | @t--show-toplevel git rev-�� --show-toplevel git /usr/bin/infocmp /tmp/gh-aw-test-infocmp rev-parse /opt/hostedtoolcxterm-color infocmp (http block)
    • Triggering command: /usr/bin/gh gh api /repos/docker/login-action/git/ref/tags/v3 --jq [.object.sha, .object.type] | @tsv ithub-script/git/ref/tags/v9 infocmp bject.type] | @tsv xterm-color go /usr/bin/git git rev-�� --show-toplevel git /usr/bin/infocmp /tmp/TestGuardPoinfocmp remote /usr/bin/git infocmp (http block)
  • https://api.github.com/repos/docker/metadata-action/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/docker/metadata-action/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv st-qZ3PKO/test-c-f Test ache/node/24.14.-f hacked git 47 git bran�� test-5tGMx3/text-output.go main ache/node/24.14.1/x64/bin/python3 --require /home/REDACTED/worapi ache/go/1.25.8/x/repos/actions/github-script/git/ref/tags/v9 git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/docker/metadata-action/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv user.name k/gh-aw/gh-aw/actions/setup/js/nowner=github 64/pkg/tool/linux_amd64/link hacked git run-script/lib/n/home/REDACTED/work/gh-aw/gh-aw/.github/workflows 64/pkg/tool/linuconfig bran�� test-5tGMx3/textremote.origin.url main down-spellcheck.lock.yml --require /home/REDACTED/wor-C /opt/hostedtoolc/home/REDACTED/work/gh-aw/gh-aw/.github/workflows git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/docker/metadata-action/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv user.name Test User /usr/bin/git HEAD ache/node/24.14.-C es/.bin/git git -C k/gh-aw/gh-aw/.github/workflows rev-parse (http block)
  • https://api.github.com/repos/docker/setup-buildx-action/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/docker/setup-buildx-action/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv st-qZ3PKO/test-config.json Test repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } / git 47 64/pkg/tool/linux_amd64/asm bran�� test-5tGMx3/text-output.go main bin/python3 --require /home/REDACTED/wor-C 1/x64/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/docker/setup-buildx-action/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv user.name k/gh-aw/gh-aw/actions/setup/js/node_modules/vite--conditions 64/pkg/tool/linux_amd64/link hacked git 47 64/pkg/tool/linu-f bran�� kflow.test main ortcfg.link --require /home/REDACTED/wor-C /git 7UKnm7Aax5zgZ4nUshow (http block)
    • Triggering command: /usr/bin/gh gh api /repos/docker/setup-buildx-action/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv k/gh-aw/gh-aw git (http block)
  • https://api.github.com/repos/github/gh-aw
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .default_branch ithub/workflows /home/REDACTED/worowner=github (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .default_branch /home/REDACTED/worremote.origin.url config /usr/bin/git remote.origin.urgit st/suppress-warn-C git git -C ithub/workflows config repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } l ode_modules/vite-C DiscussionsEnabl/home/REDACTED/work/gh-aw/gh-aw docker (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .default_branch ithub-script/git-f bin 2>/dev/nullowner=github bject.type] | @t-f xterm-color gh /usr/bin/git git rev-�� e=false git r: $owner, name: $name) { hasDiscussionsEnabled } } --show-toplevel git /usr/bin/infocmp/home/REDACTED/work/gh-aw/gh-aw infocmp (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v0.1.2
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq [.object.sha, .object.type] | @tsv --show-toplevel 4033096/b418/envutil.test /usr/bin/git ository }} _L0m/ZbUGNwZMKnOrev-parse (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/gh 0150-87970/test-gh GO111MODULE 1/x64/bin/node gh api /repos/actions/github-script/git/ref/tags/v9 --jq /usr/bin/git runs/20260505-01infocmp GO111MODULE /opt/hostedtoolcxterm-color git (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq [.object.sha, .object.type] | @tsv --show-toplevel x_amd64/compile /opt/hostedtoolcache/node/24.14.1/x64/bin/node -json gset/set.go x_amd64/compile /opt/hostedtoolcache/node/24.14.1/x64/bin/node /tmp�� 'full-sweep (enforce_all)' x_amd64/compile /usr/bin/git ub/workflows GO111MODULE 64/pkg/tool/linu--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq [.object.sha, .object.type] | @tsv /ref/tags/v9 config sv remote.origin.urgit GO111MODULE 64/bin/go git rev-�� /ref/tags/v9 go sv -json GO111MODULE odules/npm/node_--show-toplevel git (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq [.object.sha, .object.type] | @tsv /home/REDACTED/work/gh-aw/gh-aw/.github/workflows/approach-validator.md x_amd64/compile /opt/hostedtoolcache/node/24.14.1/x64/bin/node -json GO111MODULE x_amd64/compile /opt/hostedtoolcache/node/24.14.1/x64/bin/node /tmp�� github.token x_amd64/compile /opt/hostedtoolcache/node/24.14.1/x64/bin/node -json GO111MODULE 64/pkg/tool/linu--show-toplevel /opt/hostedtoolcache/node/24.14.1/x64/bin/node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq [.object.sha, .object.type] | @tsv /home/REDACTED/work/gh-aw/gh-aw/.github/workflows rev-parse /usr/bin/git iant-594720487 GO111MODULE 64/bin/go git conf�� --get remote.origin.url 0"}} -json GO111MODULE 64/bin/go git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --limit 100 --created >=2026-04-28 GOMOD GOMODCACHE 64/pkg/tool/linuremote.origin.url env mLsRemoteWithRealGitcustom_branch3380759251/001' mLsRemoteWithRealGitcustom_branch3380759251/001' 64/pkg/tool/linux_amd64/asm GOINSECURE l/errors GOMODCACHE 64/pkg/tool/linutest-branch (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --limit 100 --created >=2026-04-05 GOMOD GOMODCACHE 64/pkg/tool/linuremote.origin.url env ode_modules/flatted/golang/pkg/flatted/flatted.go sYYP-7R33 64/pkg/tool/linux_amd64/cgo GOINSECURE er GOMODCACHE 64/pkg/tool/linutest@example.com (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --limit 100 --created >=2026-02-04 GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile env LsRemoteWithRealGitcustom_branch3380759251/001' LsRemoteWithRealGitcustom_branch3380759251/001' 64/pkg/tool/linux_amd64/vet GOINSECURE or_wasm.o 64/src/math/floorun 64/pkg/tool/linu--auto (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/1/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/1/artifacts --jq .artifacts[].name GO111MODULE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE setup/js/node_morun GOMODCACHE ache/go/1.25.8/x--json ortc�� 5627-53495/test---limit om/goccy/go-yaml100 ow.lock.yml GOINSECURE /maps GOMODCACHE ortcfg (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 verutil_test.go 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile ortc�� g_.a om/segmentio/encoding@v0.5.4/json/codec.go .cfg GOINSECURE util GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linuremote.origin.url (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/1/artifacts --jq .artifacts[].name GO111MODULE k/gh-aw/gh-aw/actions/node_modules/.bin/sh GOINSECURE GOMOD GOMODCACHE go env ck '**/*.cjs' '**/*.ts' '**/*.json' --ignore-path ../../../.prettierignore GO111MODULE ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linuupstream (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12345/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12345/artifacts --jq .artifacts[].name NG8R67gve x_amd64/link GOINSECURE er GOMODCACHE x_amd64/link env 9nnKSBlbl GO111MODULE ache/go/1.25.8/x64/pkg/tool/linu-lang=go1.25 GOINSECURE GOMOD GOMODCACHE j0/8-8vmLiYCmHH9yLNKNaz/um86pbnu-goversion (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 GO111MODULE ache/go/1.25.8/x64/pkg/tool/linu-buildmode=exe GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linu-extld=gcc ortc�� 2419866/b059/_pkg_.a om/goccy/go-yaml@v1.19.2/scanner/context.go ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE fips140deps/byterev-parse GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linuorigin (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12345/artifacts --jq .artifacts[].name GO111MODULE k/gh-aw/gh-aw/node_modules/.bin/node GOINSECURE GOMOD GOMODCACHE go ache�� -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE erignore (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/1234567890
    • Triggering command: /usr/bin/gh gh api repos/{owner}/{repo}/actions/runs/1234567890 --jq {databaseId: .id, number: .run_number, url: .html_url, status: .status, conclusion: .conclusion, workflowName: .name, workflowPath: .path, createdAt: .created_at, startedAt: .run_started_at, updatedAt: .updated_at, event: .event, headBranch: .head_branch, 90464156/001' 90464156/001' 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api repos/{owner}/{repo}/actions/runs/1234567890 --jq {databaseId: .id, number: .run_number, url: .html_url, status: .status, conclusion: .conclusion, workflowName: .name, workflowPath: .path, createdAt: .created_at, startedAt: .run_started_at, updatedAt: .updated_at, event: .event, headBranch: .head_branch, 270159796/001' 270159796/001' 64/bin/go GOINSECURE GOMOD GOMODCACHE go /pre�� -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12346/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12346/artifacts --jq .artifacts[].name Kt0zQSK0W ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE flow GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linu-trimpath env 3470/001/stability-test.md GO111MODULE ache/go/1.25.8/x64/pkg/tool/linu-lang=go1.25 GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linu-dwarf=false (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 GO111MODULE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 06/m1mI9m8ZybBw5VAsfaec/Pi1C9UClrev-parse ortc�� 3470/001/stability-test.md om/goccy/go-yaml@v1.19.2/lexer/lexer.go ache/go/1.25.8/x64/pkg/tool/linux_amd64/asm GOINSECURE fips140deps/cpu GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linuremote.origin.url (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12346/artifacts --jq .artifacts[].name GO111MODULE k/gh-aw/node_modules/.bin/node GOINSECURE GOMOD GOMODCACHE go ache�� -json GO111MODULE bin/golangci-lint GOINSECURE GOMOD GOMODCACHE erignore (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/2/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/2/artifacts --jq .artifacts[].name GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile ortc�� /ref/tags/v9.0.0 g/logger/doc.go sv GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 GO111MODULE ache/go/1.25.8/x64/pkg/tool/linu-lang=go1.25 GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linu-dwarf=false ortc�� 2241764759 om/modelcontextprotocol/go-sdk@v-c=4 .cfg GOINSECURE 2419866/b011/ GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linu/tmp/go-build2404033096/b457/_testmain.go (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/2/artifacts --jq .artifacts[].name GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env ck '**/*.cjs' '**/*.ts' '**/*.json' --ignore-path ../../../.pret.prettierignore GO111MODULE ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x--jq (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/3/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/3/artifacts --jq .artifacts[].name GO111MODULE util.test GOINSECURE GOMOD GOMODCACHE util.test 4040�� boring/sig g/console/accessibility.go ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE 2419866/b087/ GOMODCACHE ache/go/1.25.8/xorigin (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 Q8gElMZ6A ache/go/1.25.8/x64/pkg/tool/linux_amd64/asm GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linu--json env ortcfg GO111MODULE .cfg GOINSECURE 2419866/b006/ GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/3/artifacts --jq .artifacts[].name GO111MODULE cfg GOINSECURE GOMOD GOMODCACHE go env ck '**/*.cjs' '**/*.ts' '**/*.json' --ignore-path ../../../.pret.prettierignore GO111MODULE ache/go/1.25.8/x64/pkg/tool/linux_amd64/cgo GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/cgo (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/4/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/4/artifacts --jq .artifacts[].name GO111MODULE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x^remote\..*\.gh-resolved$ ortc�� 2419866/b087/_pkg_.a g/stringutil/ansi.go .cfg GOINSECURE boring/sig GOMODCACHE ache/go/1.25.8/xTest User (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 3Js0Ri3Dw x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env ortcfg GO111MODULE .cfg GOINSECURE 2419866/b011/ GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/4/artifacts --jq .artifacts[].name GO111MODULE k/node_modules/.bin/sh GOINSECURE GOMOD GOMODCACHE go env ck '**/*.cjs' '**/*.ts' '**/*.json' --ignore-path ../../../.pret.prettierignore GO111MODULE /opt/hostedtoolcache/go/1.25.8/x64/bin/go GOINSECURE GOMOD ode-gyp-bin/node--show-toplevel go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/5/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/5/artifacts --jq .artifacts[].name .cfg ache/go/1.25.8/x64/pkg/tool/linux_amd64/asm GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x--json ortc�� 2278063326 g/typeutil/conve100 ache/go/1.25.8/x--created GOINSECURE 2419866/b047/ GOMODCACHE ache/go/1.25.8/xtest@example.com (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 JWpi-bmPh ache/go/1.25.8/x64/pkg/tool/linu-buildmode=exe GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linu-extld=gcc env ortcfg GO111MODULE .cfg GOINSECURE 2419866/b011/ GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/5/artifacts --jq .artifacts[].name GO111MODULE 1/x64/bin/node GOINSECURE GOMOD GOMODCACHE go t-ha�� ithub/workflows/ab-testing-advisremote.origin.url GO111MODULE ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linuupstream (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path -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 run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 100 GOMOD GOMODCACHE x_amd64/compile env -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (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 g GOMODCACHE ache/go/1.25.8/xremote2 env thub/workflows GO111MODULE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE 2419866/b021/ GOMODCACHE ache/go/1.25.8/xTest User (http block)
  • https://api.github.com/repos/github/gh-aw/contents/.github/workflows/shared/reporting.md
    • Triggering command: /tmp/go-build2404033096/b404/cli.test /tmp/go-build2404033096/b404/cli.test -test.testlogfile=/tmp/go-build2404033096/b404/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true -importcfg /tmp/go-build2102419866/b233/importcfg -pack /home/REDACTED/go/pkg/mod/github.com/yosida95/uritemplate/v3@v3.0.2/compile.go @/tm�� 64/bin/go go 64/bin/go -json GO111MODULE 64/bin/go go (http block)
    • Triggering command: /tmp/go-build728888169/b404/cli.test /tmp/go-build728888169/b404/cli.test -test.testlogfile=/tmp/go-build728888169/b404/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v0.47.4
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq [.object.sha, .object.type] | @tsv --show-toplevel node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq [.object.sha, .object.type] | @tsv --show-toplevel git (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, .object.type] | @tsv 2419866/b137/_pkg_.a g/semverutil/semverutil.go 64/pkg/tool/linux_amd64/vet GOINSECURE (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq [.object.sha, .object.type] | @tsv json' --ignore-premote.origin.url GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env rdian.md GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env ub/workflows GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE _modules/.bin/node GOINSECURE GOMOD GOMODCACHE go env lGitbranch_with_hyphen3307546300/001' lGitbranch_with_hyphen3307546300/001' 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v2.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env -json GO111MODULE x_amd64/link GOINSECURE GOMOD GOMODCACHE x_amd64/link (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq [.object.sha, .object.type] | @tsv -json 1.6.0/internal/xcontext/xcontext.go x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env ub/workflows GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v3.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq [.object.sha, .object.type] | @tsv go1.25.8 -c=4 -nolocalimports -importcfg /tmp/go-build2404033096/b463/importcfg -pack /tmp/go-build2404033096/b463/_testmain.go env ub/workflows GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq [.object.sha, .object.type] | @tsv iant-3262129519 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/google-github-actions/auth/git/ref/tags/v2
    • Triggering command: /usr/bin/gh gh api /repos/google-github-actions/auth/git/ref/tags/v2 --jq [.object.sha, .object.type] | @tsv --show-toplevel git /usr/bin/git /tmp/TestGuardPogit remote /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel go 0"}} git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/google-github-actions/auth/git/ref/tags/v2 --jq [.object.sha, .object.type] | @tsv --show-toplevel infocmp /usr/bin/git xterm-color l /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git k/gh-aw/gh-aw/pkgit remote /usr/bin/git git (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, .object.type] | @tsv DefaultBranchFromLsRemoteWithRea-c=4 DefaultBranchFromLsRemoteWithRea-nolocalimports ache/go/1.25.8/x64/pkg/tool/linu-importcfg GOINSECURE g/x/net/dns/dnsmrev-parse 2419866/b015/sym--show-toplevel ache/go/1.25.8/x64/pkg/tool/linu/home/REDACTED/work/gh-aw/gh-aw/pkg/typeutil/convert_test.go ortc�� 2419866/b243/_pkg_.a stmain.go ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GOINSECURE t/internal/langurev-parse GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linuremote1 (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq [.object.sha, .object.type] | @tsv json' --ignore-path ../../../.pr**/*.json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env ub/workflows GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (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/vet env ortcfg GO111MODULE .cfg GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion GOINSECURE GOMOD GOMODCACHE go -has�� (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 go env -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh workflow list --repo owner/repo --json name,path,state .cfg GOINSECURE e GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile env agent-performance-analyzer.md _VvF/FyImW2PzFURYGaDW_VvF ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GOINSECURE e/jsonschema-go/remote GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo 64/bin/go GOINSECURE GOMOD GOMODCACHE go /pre�� -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 -json context/xcontext.go 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/test-owner/test-repo/actions/secrets --jq .secrets[].name -json GO111MODULE /node GOINSECURE GOMOD GOMODCACHE go /pre�� -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/test/repo
    • Triggering command: /usr/bin/gh gh api /repos/test/repo --jq .default_branch ortcfg GO111MODULE .cfg GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile env 5627-53495/test-3482145682/.github/workflows 3cxW/IBlaqeSprCJhOYFQ3cxW ache/go/1.25.8/x64/pkg/tool/linux_amd64/link GOINSECURE g/x/text/unicode-1 GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/link (http block)
    • Triggering command: /usr/bin/gh gh api /repos/test/repo --jq .default_branch runs/20260505-010150-87970/test-3758787082/.github/workflows GOPROXY /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GOSUMDB GOWORK 64/bin/go /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet -ato�� tructions-test-4151393897/.github/workflows -buildtags /opt/hostedtoolcache/node/24.14.1/x64/bin/node -errorsas -ifaceassert -nilfunc node (http block)
  • invalid.example.invalid
    • Triggering command: /usr/lib/git-core/git-remote-https /usr/lib/git-core/git-remote-https origin https://invalid.example.invalid/nonexistent-repo.git git conf�� --local --get ode_modules/.bin/git user.email test@example.com--git-dir=/tmp/bare-incremental-RcCHFF bin/git git comm�� -m Initial commit tions/setup/node_modules/.bin/git --bare --initial-branchadd k/gh-aw/gh-aw/noagent-change.txt git (dns block)

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

Copilot AI and others added 2 commits May 5, 2026 00:50
Agent-Logs-Url: https://github.com/github/gh-aw/sessions/76ac73b1-b929-4138-a006-d8ebfdde7295

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Add appendEnvVarLine helper that trims trailing newlines and emits
multi-line values as YAML literal block scalars (|) instead of
single-line key: value pairs which break YAML parsing.

Update FormatStepWithCommandAndEnv and GenerateMultiSecretValidationStep
to use the new helper. Fixes multi-line >- block scalar expressions
in engine.env values producing invalid compiled .lock.yml files.

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/76ac73b1-b929-4138-a006-d8ebfdde7295

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix multi-line expressions unsupported in engine.env values fix: handle multi-line engine.env values as YAML literal block scalars May 5, 2026
Copilot AI requested a review from pelikhan May 5, 2026 01:08
@pelikhan pelikhan marked this pull request as ready for review May 5, 2026 01:27
Copilot AI review requested due to automatic review settings May 5, 2026 01:27
Copy link
Copy Markdown
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

This PR updates workflow YAML generation so engine.env values that contain embedded newlines are emitted as YAML literal block scalars (|) instead of invalid single-line key: value pairs, and adds tests to cover the behavior.

Changes:

  • Added appendEnvVarLine() helper to emit env vars as either inline YAML-safe scalars or | literal block scalars for multi-line values.
  • Updated env var emission in FormatStepWithCommandAndEnv() and GenerateMultiSecretValidationStep() to use the new helper.
  • Added/updated unit tests for multi-line env var behavior and trailing newline trimming.
Show a summary per file
File Description
pkg/workflow/engine_helpers.go Adds appendEnvVarLine() and routes env emission through it to support multi-line values.
pkg/workflow/engine_helpers_test.go Adds tests for multi-line env emission and trimming behavior.
pkg/workflow/secret_validation_test.go Adds test coverage ensuring validation-step env overrides with multi-line values emit block scalars.
docs/src/content/docs/reference/frontmatter-full.md Updates OTLP endpoint documentation (appears unrelated to engine.env YAML emission).
docs/src/content/docs/agent-factory-status.mdx Adds new workflows to the status table.
.github/workflows/metrics-collector.lock.yml Adds/updates GH_AW_INFO_VERSION in env (appears unrelated to engine.env YAML emission).

Copilot's findings

Tip

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

Comments suppressed due to low confidence (1)

pkg/workflow/engine_helpers_test.go:423

  • In TestAppendEnvVarLine, the multi-line input’s second line begins with 4 spaces, so the emitted output will contain 16 leading spaces before secrets.PAT_2 }} (12 from YAML indentation + 4 from the value). The expectedContent currently looks for only 12 spaces, so this test will fail unless either the expectation is updated or appendEnvVarLine trims leading indentation from continuation lines.
			name:  "multi-line value emitted as literal block scalar",
			key:   "COPILOT_GITHUB_TOKEN",
			value: "${{ secrets.PAT_1 != '' && secrets.PAT_1 ||\n    secrets.PAT_2 }}",
			expectedContent: []string{
				"          COPILOT_GITHUB_TOKEN: |",
				"            ${{ secrets.PAT_1 != '' && secrets.PAT_1 ||",
				"            secrets.PAT_2 }}",
			},
  • Files reviewed: 6/6 changed files
  • Comments generated: 5

Comment thread pkg/workflow/engine_helpers.go Outdated
Comment on lines +279 to +280
// Trim trailing newline added by YAML | or > block scalars
value = strings.TrimRight(value, "\n")
Comment thread pkg/workflow/engine_helpers_test.go Outdated
if !strings.Contains(output, " ${{ secrets.PAT_1 != '' && secrets.PAT_1 ||") {
t.Errorf("Expected first line of multi-line value, got:\n%s", output)
}
if !strings.Contains(output, " secrets.PAT_3 }}") {
Comment thread pkg/workflow/secret_validation_test.go Outdated
if !strings.Contains(stepContent, " ${{ secrets.GH_AW_PAT_1 != '' && secrets.GH_AW_PAT_1 ||") {
t.Errorf("Expected first line of multi-line expression, got:\n%s", stepContent)
}
if !strings.Contains(stepContent, " secrets.GH_AW_PAT_3 }}") {
Comment on lines 6031 to 6034
# OTLP endpoint configuration. Accepts a plain URL string (backward-compat), a
# single {url, headers} object, or an array of {url, headers} objects for
# multi-endpoint concurrent fan-out. Encoded as GH_AW_OTLP_ENDPOINTS (JSON array).
# (optional)
Comment on lines +1196 to +1199
env:
GH_AW_SETUP_WORKFLOW_NAME: "Metrics Collector - Infrastructure Agent"
GH_AW_CURRENT_WORKFLOW_REF: ${{ github.repository }}/.github/workflows/metrics-collector.lock.yml@${{ github.ref }}
GH_AW_INFO_VERSION: "1.0.40"
@pelikhan
Copy link
Copy Markdown
Collaborator

pelikhan commented May 5, 2026

@copilot review all comments

…rt unrelated changes

- Use strings.TrimSuffix instead of strings.TrimRight to trim at most
  one trailing newline in appendEnvVarLine (preserves multiple
  intentional trailing newlines)
- Fix test assertions to use correct 16-space indentation for
  continuation lines (12 base + 4 preserved prefix)
- Add test case proving only one trailing newline is trimmed
- Revert unrelated docs and lockfile changes

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/6cc3894b-66d5-41c8-8840-0eda6deb1dfe

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

Copilot AI commented May 5, 2026

@copilot review all comments

Addressed all reviewer comments in commit 1a913ca:

  • TrimRightTrimSuffix: appendEnvVarLine now trims at most one trailing newline, preserving multiple intentional trailing newlines. Added a test case to verify this.
  • Imprecise test assertions: Fixed assertions in engine_helpers_test.go and secret_validation_test.go to use the correct 16-space indentation for continuation lines (12-space base prefix + 4-space preserved continuation indent from the parsed YAML value).
  • Unrelated docs/lockfile changes: Reverted docs/src/content/docs/reference/frontmatter-full.md and .github/workflows/metrics-collector.lock.yml to their pre-PR state.

@pelikhan pelikhan merged commit 7268707 into main May 5, 2026
@pelikhan pelikhan deleted the copilot/fix-multi-line-expressions-engine-env branch May 5, 2026 02:41
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.

Multi-line expressions unsupported in engine.env values

3 participants