Conversation
… proper files - Move validateStringEnumField from templatables.go → validation_helpers.go - Add generic validateNoDuplicateIDs[T] to validation_helpers.go - Move expression validation primitives (validateBalancedBraces, validateExpressionSyntax, validateExpressionContent, validateBalancedQuotes, containsLogicalOperators) from concurrency_validation.go → expression_validation.go - Create cache_validation.go with validateNoDuplicateCacheIDs (uses generic helper) - Create jobs_validation.go with ValidateDependencies and ValidateDuplicateSteps - Create lock_validation.go with ValidateLockSchemaCompatibility - Create repo_memory_validation.go with validateBranchPrefix and validateNoDuplicateMemoryIDs (uses generic helper) - Move ValidateGitHubToolsAgainstToolsets from github_tool_to_toolset.go → tools_validation.go - Move ValidateIncludedPermissions and isPermissionSufficient from imports.go → permissions_validation.go - Remove parsePRURL one-liner wrapper in pr_command.go, inline parser.ParsePRURL at call site - Remove parseGoModWithIndirect backward-compat wrapper in deps_report.go, inline at call site - Update tests to use inlined functions directly - Add clarifying comment distinguishing validateWorkflowName (existence check) from ValidateWorkflowName (format check) in mcp_server_helpers.go Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
…ession_validation.go and permissions log messages - Remove stale 'concurrency group' references from generic expression validation errors - Update log messages in ValidateIncludedPermissions to match permissionsValidationLog namespace Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Refactors workflow validation code layout by moving validation helpers into dedicated *_validation.go files, removing redundant wrappers, and deduplicating duplicate-ID validation logic.
Changes:
- Moved scattered validation functions into dedicated validation-focused files (new and existing), and removed one-liner wrappers.
- Introduced a generic
validateNoDuplicateIDshelper and updated cache/repo-memory duplicate-ID checks to delegate to it. - Clarified naming ambiguity for
validateWorkflowName(existence check vs. format validation).
Reviewed changes
Copilot reviewed 21 out of 21 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| pkg/workflow/validation_helpers.go | Adds validateStringEnumField and a generic validateNoDuplicateIDs helper. |
| pkg/workflow/tools_validation.go | Relocates ValidateGitHubToolsAgainstToolsets into the tools validation module. |
| pkg/workflow/templatables.go | Removes the moved validateStringEnumField implementation and related import. |
| pkg/workflow/repo_memory_validation.go | New repo-memory validation file; moves branch-prefix + duplicate ID validation. |
| pkg/workflow/repo_memory.go | Removes validation functions now housed in repo_memory_validation.go. |
| pkg/workflow/permissions_validation.go | Moves included/import permissions validation into the permissions validation module. |
| pkg/workflow/lock_validation.go | New lock schema compatibility validation file. |
| pkg/workflow/lock_schema.go | Removes ValidateLockSchemaCompatibility after relocating it. |
| pkg/workflow/jobs_validation.go | New job validation file; moves dependency + duplicate-step validation. |
| pkg/workflow/jobs.go | Removes moved validation methods from the jobs domain file. |
| pkg/workflow/imports.go | Removes included-permissions validation code after moving it to permissions validation. |
| pkg/workflow/github_tool_to_toolset.go | Keeps only mapping/init; notes validator moved to tools validation. |
| pkg/workflow/expression_validation.go | Consolidates expression syntax helpers into expression validation. |
| pkg/workflow/concurrency_validation.go | Removes local copies of expression syntax helpers (now shared). |
| pkg/workflow/cache_validation.go | New cache-memory validation file; delegates to generic duplicate-ID helper. |
| pkg/workflow/cache.go | Removes inline cache duplicate-ID validation now in cache_validation.go. |
| pkg/cli/pr_command_test.go | Updates tests to call parser.ParsePRURL directly. |
| pkg/cli/pr_command.go | Removes parsePRURL wrapper; uses parser.ParsePRURL directly. |
| pkg/cli/mcp_server_helpers.go | Clarifies doc comment for workflow existence vs. format validation. |
| pkg/cli/deps_test.go | Renames test and updates call site to parseGoModFile. |
| pkg/cli/deps_report.go | Removes parseGoModWithIndirect wrapper; inlines logging + direct call. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
| return NewValidationError( | ||
| "expression", | ||
| "unbalanced closing braces", | ||
| fmt.Sprintf("found '}}' at position %d without matching opening '${{' in expression: %s", i, group), | ||
| "Ensure all '}}' have a corresponding opening '${{'. Check for typos or missing opening braces.", |
The CI failure is in
Pushed an empty commit (7d96143) to trigger a new CI run. |
Addresses 15 misplaced functions identified in the semantic function clustering analysis: validation logic scattered in domain files, one-liner wrappers, and near-duplicate ID validators.
New
*_validation.gofilescache_validation.gocache.gojobs_validation.gojobs.golock_validation.golock_schema.gorepo_memory_validation.gorepo_memory.goMoved to existing validation files
validateStringEnumField→validation_helpers.go(fromtemplatables.go)validateBalancedBraces,validateExpressionSyntax,validateExpressionContent,validateBalancedQuotes,containsLogicalOperators→expression_validation.go(fromconcurrency_validation.go), alongside the near-duplicatevalidateSingleExpressionValidateGitHubToolsAgainstToolsets→tools_validation.go(fromgithub_tool_to_toolset.go)ValidateIncludedPermissions+isPermissionSufficient→permissions_validation.go(fromimports.go)Generic duplicate-ID validator
Replaces two structurally identical functions with a single generic helper in
validation_helpers.go:Both
validateNoDuplicateCacheIDsandvalidateNoDuplicateMemoryIDsnow delegate to it.Removed one-liner wrappers
parsePRURLinpr_command.go— wasreturn parser.ParsePRURL(prURL); call site now usesparser.ParsePRURLdirectlyparseGoModWithIndirectindeps_report.go— was a "backward compatibility" wrapper aroundparseGoModFile; removed and inlinedClarified naming ambiguity
Added a doc comment to
mcp_server_helpers.go:validateWorkflowName(checks workflow existence) distinguishing it fromvalidators.go:ValidateWorkflowName(validates name format only).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/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 git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go git(http block)/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 ZXFjOiSQ6baL5/4Prev-parse /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel ache/node/24.14.rev-parse /usr/bin/git git(http block)/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 git /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel git ache/go/1.25.0/x--show-toplevel git(http block)https://api.github.com/repos/actions/ai-inference/git/ref/tags/v1/usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha --show-toplevel FlstxejT3O0Y /opt/hostedtoolcache/node/24.14.0/x64/bin/node 443568/b410/_pkggit GO111MODULE 2ab6cde364bc69c9--show-toplevel /opt/hostedtoolcache/node/24.14.0/x64/bin/node /tmp�� image:v1.0.0 go /usr/bin/git 22wc/BH4cBs6soFegit GO111MODULE 64/bin/go git(http block)/usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha --show-toplevel -extld=gcc /usr/bin/git --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel go /usr/bin/git git(http block)/usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha --show-toplevel git ache/go/1.25.0/x64/pkg/tool/linux_amd64/asm --show-toplevel node /usr/bin/git ache/go/1.25.0/x64/pkg/tool/linux_amd64/asm rev-�� --show-toplevel /usr/bin/git /opt/hostedtoolcache/node/24.14.0/x64/bin/node --get-regexp ^remote\..*\.gh-rev-parse /usr/bin/git node(http block)https://api.github.com/repos/actions/checkout/git/ref/tags/v3/usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha sistency_GoAndJavaScript2694545278/001/test-frontmatter-with-nested-objects.md GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE go(http block)/usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel go /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel go /usr/bin/git git(http block)/usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha --show-toplevel git 0/x64/bin/node --show-toplevel git /usr/bin/git git js --show-toplevel git /usr/bin/git /tmp/file-trackegit /tmp/file-trackerev-parse(http block)https://api.github.com/repos/actions/checkout/git/ref/tags/v5/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/bin/go GOINSECURE GOMOD GOMODCACHE go(http block)/usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha /tmp/gh-aw-test-runs/20260313-034905-28479/test-4016165930 status /usr/bin/git .github/workflowgit --check 64/bin/go git conf�� --get remote.origin.url /usr/bin/infocmp extensions.objecgit sh 64/bin/go infocmp(http block)/usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel go /usr/bin/git -json GO111MODULE ache/go/1.25.0/x--show-toplevel git rev-�� --show-toplevel go r: $owner, name: $name) { hasDiscussionsEnabled } } -json GO111MODULE 64/pkg/tool/linu--show-toplevel git(http block)https://api.github.com/repos/actions/checkout/git/ref/tags/v6/usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha runs/20260313-034905-28479/test-4016165930 config /usr/bin/git s/test.md GO111MODULE 64/bin/go git rev-�� --show-toplevel l(http block)/usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha --show-toplevel go /usr/bin/infocmp ck '**/*.cjs' '*git GO111MODULE 64/bin/go infocmp -1 xterm-color ache/go/1.25.0/xGO111MODULE /opt/hostedtoolcache/node/24.14.0/x64/bin/node -json GO111MODULE 64/bin/go node(http block)/usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha --show-toplevel go /usr/bin/git 78/001/test-frongit GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 64/pkg/tool/linu--show-toplevel git(http block)https://api.github.com/repos/actions/github-script/git/ref/tags/v8/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 k/gh�� -json GO111MODULE 64/bin/go GOINSECURE GOMOD erignore go(http block)/usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD erignore go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go(http block)/usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD erignore tCvyK1taGOl6 env -json GO111MODULE dd8ed0f1df058fb3-d GOINSECURE GOMOD GOMODCACHE go(http block)https://api.github.com/repos/actions/setup-go/git/ref/tags/v4/usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha /tmp/go-build1324402659/b428/timeutil.test -importcfg /usr/bin/git -s -w -buildmode=exe git rev-�� --show-toplevel -extld=gcc /usr/bin/git -json aa2f88174836b605rev-parse 64/bin/go git(http block)/usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha --noprofile git /usr/bin/git --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git git rev-�� --show-toplevel l /usr/bin/git --show-toplevel NJzGr-D7xkIC-Egarev-parse /usr/bin/git git(http block)/usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha --show-toplevel git ache/node/24.14.0/x64/bin/node --show-toplevel git /usr/bin/git git _inc�� --show-toplevel git ptables --show-toplevel git /usr/bin/git git(http block)https://api.github.com/repos/actions/setup-node/git/ref/tags/v4/usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha -bool s/test.md /usr/bin/git -errorsas -ifaceassert -nilfunc git -C /home/REDACTED/work/gh-aw/gh-aw/.github/workflows l(http block)/usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha --noprofile git /usr/bin/git --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git git rev-�� --show-toplevel git om/testorg/testrepo.git --show-toplevel go /usr/bin/git git(http block)/usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha --show-toplevel git ache/node/24.14.0/x64/bin/node --show-toplevel git /usr/bin/git git _inc�� --show-toplevel git es --show-toplevel git /usr/bin/git git(http block)https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v4/usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha ithub/workflows/archie.md GO111MODULE ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet env -json GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE go(http block)/usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel go /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel go /usr/bin/git git(http block)/usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha --show-toplevel git /usr/bin/git ache/go/1.25.0/xgit git /usr/bin/git git conf�� user.email test@example.com 0/x64/bin/node --show-toplevel git /usr/bin/git git(http block)https://api.github.com/repos/github/gh-aw/actions/runs/1/artifacts/usr/bin/gh gh run download 1 --dir test-logs/run-1 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go estl�� -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go(http block)/usr/bin/gh gh run download 1 --dir test-logs/run-1 infocmp /usr/bin/git xterm-color go /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel 443568/b392/imporev-parse /usr/bin/git git(http block)/usr/bin/gh gh run download 1 --dir test-logs/run-1 git /usr/bin/git --show-toplevel git ache/node/24.14.--show-toplevel git rev-�� --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git git(http block)https://api.github.com/repos/github/gh-aw/actions/runs/12345/artifacts/usr/bin/gh gh run download 12345 --dir test-logs/run-12345 GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go(http block)/usr/bin/gh gh run download 12345 --dir test-logs/run-12345 git 64/bin/bash GOMODCACHE go /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel node /usr/bin/git git(http block)/usr/bin/gh gh run download 12345 --dir test-logs/run-12345 git /usr/bin/git --show-toplevel git ache/node/24.14./tmp/gh-aw-test-runs/20260313-035550-43181/test-2849621693 git rev-�� --show-toplevel git x_amd64/link --show-toplevel git /usr/bin/docker x_amd64/link(http block)https://api.github.com/repos/github/gh-aw/actions/runs/12346/artifacts/usr/bin/gh gh run download 12346 --dir test-logs/run-12346 GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go(http block)/usr/bin/gh gh run download 12346 --dir test-logs/run-12346 git 0/x64/bin/bash --show-toplevel go /usr/bin/git gh api /repos/actions/checkout/git/ref/tags/v5 --jq /usr/bin/git /tmp/gh-aw-test-git status /usr/bin/git git(http block)/usr/bin/gh gh run download 12346 --dir test-logs/run-12346 git 50cfc477961a66e778c6f9ae97cdad74-d --show-toplevel git ache/node/24.14.--git-dir git rev-�� --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git git(http block)https://api.github.com/repos/github/gh-aw/actions/runs/2/artifacts/usr/bin/gh gh run download 2 --dir test-logs/run-2 GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go(http block)/usr/bin/gh gh run download 2 --dir test-logs/run-2 node 64/bin/go /home/REDACTED/worgit resolved$ /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git GOMODCACHE 443568/b388/imporev-parse /usr/bin/git git(http block)/usr/bin/gh gh run download 2 --dir test-logs/run-2 git /usr/bin/git --show-toplevel git ache/node/24.14./tmp/gh-aw-test-runs/20260313-035550-43181/test-2849621693 git rev-�� --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git git(http block)https://api.github.com/repos/github/gh-aw/actions/runs/3/artifacts/usr/bin/gh gh run download 3 --dir test-logs/run-3 GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet env -json GO111MODULE x_amd64/link GOINSECURE GOMOD GOMODCACHE x_amd64/link(http block)/usr/bin/gh gh run download 3 --dir test-logs/run-3 git /usr/bin/git --show-toplevel go /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git user.name Test User /usr/bin/git git(http block)/usr/bin/gh gh run download 3 --dir test-logs/run-3 git /usr/bin/git --show-toplevel git ache/node/24.14./tmp/gh-aw-test-runs/20260313-035550-43181/test-2849621693 git rev-�� --show-toplevel git /usr/bin/tr --show-toplevel git /usr/bin/git tr(http block)https://api.github.com/repos/github/gh-aw/actions/runs/4/artifacts/usr/bin/gh gh run download 4 --dir test-logs/run-4 GO111MODULE x_amd64/link GOINSECURE GOMOD GOMODCACHE x_amd64/link env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE wJ/GFtmVa307QDDNuUCuh0B/-q2laYTOrev-parse(http block)/usr/bin/gh gh run download 4 --dir test-logs/run-4 git 64/pkg/tool/linux_amd64/compile --show-toplevel go /usr/bin/git 64/pkg/tool/linux_amd64/compile rev-�� --show-toplevel git /usr/bin/git user.email test@example.comrev-parse /usr/bin/git git(http block)/usr/bin/gh gh run download 4 --dir test-logs/run-4 git /usr/bin/git --show-toplevel git ache/node/24.14.HEAD git rev-�� --show-toplevel git /usr/bin/sed --show-toplevel git /usr/bin/git sed(http block)https://api.github.com/repos/github/gh-aw/actions/runs/5/artifacts/usr/bin/gh gh run download 5 --dir test-logs/run-5 GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go(http block)/usr/bin/gh gh run download 5 --dir test-logs/run-5 git /usr/bin/git /tmp/shared-actigit rev-parse /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel 443568/b394/impoinit /usr/bin/git git(http block)/usr/bin/gh gh run download 5 --dir test-logs/run-5 git /usr/bin/git --show-toplevel git ache/node/24.14..github/workflows/test.md git rev-�� --show-toplevel git /usr/bin/sed --show-toplevel git /usr/bin/git sed(http block)https://api.github.com/repos/github/gh-aw/actions/workflows/usr/bin/gh gh workflow list --json name,state,path GOSUMDB GOWORK 64/bin/go GOINSECURE GOMOD GOMODCACHE go env ck 'scripts/**/*GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go(http block)/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 -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE sh(http block)/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 go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go(http block)https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.0.0/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 GOMODCACHE go(http block)/usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git 4016165930 GO111MODULE ache/go/1.25.0/x--show-toplevel git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE .cfg git(http block)/usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel infocmp /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git git(http block)https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.2.3/usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq .object.sha 443568/b411/_pkgGOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env BVoF/6vMlPnI1DdJ-s GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE 443568/b411/impoconfig(http block)/usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq .object.sha --show-toplevel ache/go/1.25.0/x64/pkg/tool/linu-tests bin/node 4402659/b413/repgit GO111MODULE 4402659/b413/imp/tmp/gh-aw-test-runs/20260313-035313-32930/test-3728371589/.github/workflows git ache�� --show-toplevel nly /usr/bin/git ry=1 GO111MODULE che/go-build/c7/--show-toplevel git(http block)/usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel git 0/x64/bin/node git rev-�� --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git git(http block)https://api.github.com/repos/github/gh-aw/git/ref/tags/v2.0.0/usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha 443568/b414/_pkgGOINSECURE GO111MODULE 64/bin/go GOINSECURE b/gh-aw/pkg/time-atomic GOMODCACHE go env Q-eU/ZpLY0UQ8eaB-errorsas GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE 443568/b414/impo-trimpath(http block)/usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha 443568/b403/_pkgGOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env zzzB/VXn_pysU4wN-s GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE 443568/b403/impotest@example.com(http block)/usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE node(http block)https://api.github.com/repos/github/gh-aw/git/ref/tags/v3.0.0/usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq .object.sha 443568/b419/_pkgGOINSECURE GO111MODULE 64/bin/go GOINSECURE b/gh-aw/scripts GOMODCACHE go env a820/Vgx0-6pZlp3-errorsas GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE 443568/b419/impo-tests(http block)/usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq .object.sha --show-toplevel go cal/bin/node -json GO111MODULE /opt/hostedtoolc/tmp/gh-aw-test-runs/20260313-035313-32930/test-3081490119/.github/workflows git ache�� --show-toplevel nly /usr/bin/git -json GO111MODULE /opt/hostedtoolc--show-toplevel git(http block)/usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel git 0/x64/bin/node git rev-�� --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git git(http block)https://api.github.com/repos/nonexistent/action/git/ref/tags/v999.999.999/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 78/001/test-empty-frontmatter.md GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go(http block)/usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha --show-toplevel go /usr/bin/git 4016165930 GO111MODULE 0/x64/bin/node git rev-�� --show-toplevel go /usr/bin/git orts231830538/00git GO111MODULE ache/go/1.25.0/x--show-toplevel git(http block)/usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel /usr/bin/git /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git ithub/workflows git /usr/bin/git git(http block)https://api.github.com/repos/nonexistent/repo/actions/runs/12345/usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion GOINSECURE GOMOD GOMODCACHE x_amd64/link env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE Ql/oquH83jWyDYw0zAo1mM_/ucRcfTiI_9a60CKVjggF(http block)/usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion GOMODCACHE go /usr/bin/git git rev-�� t2446517390/.github/workflows git /usr/bin/git --git-dir node /usr/bin/git git(http block)/usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion --show-toplevel git ache/node/24.14.--show-toplevel git rev-�� --show-toplevel git /usr/lib/git-core/git --show-toplevel git /usr/bin/git /usr/lib/git-core/git(http block)https://api.github.com/repos/owner/repo/actions/workflows/usr/bin/gh gh workflow list --json name,state,path --repo owner/repo 64/bin/go GOINSECURE GOMOD GOMODCACHE go env ck 'scripts/**/*GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go(http block)/usr/bin/gh gh workflow list --json name,state,path --repo owner/repo /usr/bin/git 4905-28479/test-git GO111MODULE ache/go/1.25.0/x--show-toplevel git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE k/_temp/ghcca-no--show-toplevel git(http block)/usr/bin/gh gh workflow list --json name,state,path --repo owner/repo /usr/bin/git 4905-28479/test-git GO111MODULE ache/go/1.25.0/x--show-toplevel git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE clusion,workflow--show-toplevel git(http block)https://api.github.com/repos/owner/repo/contents/file.md/tmp/go-build1324402659/b383/cli.test /tmp/go-build1324402659/b383/cli.test -test.testlogfile=/tmp/go-build1324402659/b383/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true GOINSECURE GOMOD GOMODCACHE go k/gh�� -json GO111MODULE 64/bin/go GOINSECURE GOMOD erignore go(http block)/tmp/go-build256829129/b359/cli.test /tmp/go-build256829129/b359/cli.test -test.paniconexit0 -test.timeout=10m0s -test.count=1 rev-�� --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git -json GO111MODULE ache/go/1.25.0/x--show-toplevel git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE .cfg git(http block)/tmp/go-build647503485/b001/cli.test /tmp/go-build647503485/b001/cli.test -test.paniconexit0 -test.timeout=10m0s -test.count=1 -test.short=true --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git git rev-�� --show-toplevel git ache/node/24.14.0/x64/bin/npm /usr/bin/git gh 0/x64/bin/node ache/node/24.14.0/x64/bin/npm(http block)https://api.github.com/repos/test-owner/test-repo/actions/secrets/usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name GOSUMDB GOWORK 64/bin/go GOINSECURE GOMOD GOMODCACHE go env ck 'scripts/**/*GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go(http block)/usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name /ref/tags/v8 iptables /usr/bin/git vaScript26945452git security ache/go/1.25.0/x--show-toplevel git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 0/x64/bin/node git(http block)/usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name --show-toplevel git /usr/bin/git --show-toplevel e/git 0/x64/bin/node git rev-�� --show-toplevel gh /usr/bin/git /repos/actions/cnode --jq 0/x64/bin/node git(http block)If you need me to access, download, or install something from one of these locations, you can either:
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.