Skip to content

Enforce readonly access to GitHub MCP server; remove dangerous-permissions-write feature flag#19092

Open
Copilot wants to merge 14 commits intomainfrom
copilot/remove-mcp-write-flag
Open

Enforce readonly access to GitHub MCP server; remove dangerous-permissions-write feature flag#19092
Copilot wants to merge 14 commits intomainfrom
copilot/remove-mcp-write-flag

Conversation

Copy link
Contributor

Copilot AI commented Mar 1, 2026

  • Remove DangerousPermissionsWriteFeatureFlag constant from pkg/constants/constants.go
  • Remove feature flag bypass in dangerous_permissions_validation.go (always error on write permissions)
  • Always enforce read-only in mcp_github_config.go (getGitHubReadOnly always returns true)
  • Update permissions_validation.go IsReadOnly() to always return true
  • Add validateGitHubReadOnly validation in tools_validation.go to error on read-only: false
  • Update callers in compiler_orchestrator_workflow.go and compiler_string_api.go
  • Update pkg/parser/mcp.go to always use read-only for GitHub MCP (remote and local modes)
  • Move GITHUB_READ_ONLY=1 directly into the else branch (local Docker config) in pkg/parser/mcp.go
  • Add pkg/parser/mcp_test.go test case for boolean true shorthand to confirm read-only is enforced
  • Fix stale log message in dangerous_permissions_validation.go: "without feature flag" removed
  • Fix .github/workflows/example-permissions-warning.md - remove read-only: false and dangerous-permissions-write: true, update body text
  • Fix .github/workflows/daily-issues-report.md - remove dangerous-permissions-write: true
  • Fix .github/workflows/daily-observability-report.md - remove dangerous-permissions-write: true
  • Fix .github/workflows/daily-performance-summary.md - remove dangerous-permissions-write: true
  • Fix .github/workflows/org-health-report.md - remove dangerous-permissions-write: true
  • Batch-fix 50+ test files across pkg/workflow/ and pkg/cli/: change issues/contents/pull-requests: writeread, remove dangerous-permissions-write: true, remove orphaned features: keys
  • Fix compiler_cache_test.go TestCustomPermissionsOverrideDefaults: update assertions from writeread
  • Fix permissions_import_test.go: update All_required_permissions_present_passes_validation to use read, fix Insufficient_permission_level_fails_validation to test missing permission, fix Simple_permissions expected value
  • Fix strict_mode_test.go: restore write perms in strict mode write-rejection tests + update error messages; change "no strict field defaults to strict mode" and TestCLIStrictFlagTakesPrecedence to use network wildcard "*" to test strict mode (since write is now globally forbidden)
  • Fix compiler_orchestrator_test.go TestParseWorkflowFile_StrictMode: remove orphaned \nfeatures: from dynamically-generated test content
  • Fix codemod_permissions_test.go: restore write values in content strings for TestWritePermissionsCodemod_MapFormat, _MultipleWritePermissions, _PreservesIndentation, _PreservesComments (batch fix incorrectly changed them from write to read, but these tests specifically test the write→read codemod transformation)
  • All unit + integration tests pass (pkg/parser, pkg/workflow, pkg/cli, pkg/constants)
Original prompt

Always enforce readonly access to the github MCP server. Remove the feature dangerous MCP write flag and flag write permissions as errors


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.



✨ PR Review Safe Output Test - Run 22552233163

💥 [THE END] — Illustrated by Smoke Claude

Copilot AI and others added 2 commits March 1, 2026 18:19
…flag

- Remove 'dangerous-permissions-write: true' from test frontmatter
- Remove empty 'features:' sections left after flag removal
- Change write permissions to read in test workflow frontmatter
- Remove 'read-only: false' from tools.github sections
- Update compile_outputs_comment_test.go assertion to include discussions: write
- Update permissions_validator_test.go for always-read-only behavior
- Update github_remote_mode_test.go Codex URL expectations to mcp-readonly/
- Fix compiler_draft_test.go and github_remote_mode_test.go frontmatter

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…e feature flag

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Remove dangerous MCP write flag and enforce readonly access Enforce readonly access to GitHub MCP server; remove dangerous-permissions-write feature flag Mar 1, 2026
@pelikhan
Copy link
Contributor

pelikhan commented Mar 1, 2026

@copilot run tests and fix issues from the last merge. Fix build-wasm

@pelikhan pelikhan marked this pull request as ready for review March 1, 2026 20:35
Copilot AI review requested due to automatic review settings March 1, 2026 20:35
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

Hardens GitHub MCP usage by enforcing read-only mode everywhere and removing the dangerous-permissions-write feature-flag bypass so workflow write permissions are always rejected.

Changes:

  • Enforced GitHub MCP read-only behavior (config ignored at runtime; headers/env injected).
  • Removed dangerous-permissions-write feature flag and updated validation/tests accordingly.
  • Updated numerous workflow fixtures/tests to use read permissions and to reflect the new enforcement.

Reviewed changes

Copilot reviewed 31 out of 31 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
pkg/workflow/xml_comments_test.go Updates test frontmatter to remove write permissions / removed feature flag.
pkg/workflow/tools_validation.go Adds validation rejecting tools.github.read-only: false.
pkg/workflow/step_summary_test.go Updates test workflows to remove write permissions / removed feature flag.
pkg/workflow/permissions_validator_test.go Updates test names to clarify read-only expectations.
pkg/workflow/permissions_validation.go Forces GitHub tool to be treated as read-only (IsReadOnly() always true).
pkg/workflow/mcp_github_config.go Makes getGitHubReadOnly() always return true and updates docs.
pkg/workflow/label_filter_test.go Updates multiple test workflows to remove write permissions / removed feature flag.
pkg/workflow/github_remote_mode_test.go Updates expected remote behavior (Codex uses /mcp-readonly/; removes read-only: false).
pkg/workflow/github_readonly_test.go Updates expectation that read-only: false is ignored.
pkg/workflow/dangerous_permissions_validation_test.go Removes bypass test cases; write is always an error now.
pkg/workflow/dangerous_permissions_validation.go Removes feature-flag bypass logic for write permissions.
pkg/workflow/create_pull_request_ci_trigger_token_test.go Updates test workflows to remove write permissions / removed feature flag.
pkg/workflow/compute_text_lazy_test.go Updates multiple test workflows to remove write permissions / removed feature flag.
pkg/workflow/compiler_yaml_test.go Updates invalid-YAML fixtures to remove write permissions / removed feature flag.
pkg/workflow/compiler_string_api.go Adds validateGitHubReadOnly() to string-based compilation path.
pkg/workflow/compiler_poststeps_test.go Updates test workflows to remove write permissions / removed feature flag.
pkg/workflow/compiler_orchestrator_workflow.go Adds validateGitHubReadOnly() to file-based compilation path.
pkg/workflow/compiler_expression_size_test.go Updates test workflows to remove write permissions / removed feature flag.
pkg/workflow/compiler_draft_test.go Updates test workflows to remove write permissions / removed feature flag.
pkg/workflow/compile_outputs_pr_test.go Updates test workflows to remove write permissions / removed feature flag.
pkg/workflow/compile_outputs_label_test.go Updates test workflows to remove write permissions / removed feature flag.
pkg/workflow/compile_outputs_issue_test.go Updates test workflows to remove write permissions / removed feature flag.
pkg/workflow/compile_outputs_comment_test.go Updates test workflows and adjusts expected compiled permissions string.
pkg/workflow/compile_outputs_allowed_labels_test.go Updates test workflows to remove write permissions / removed feature flag.
pkg/workflow/aw_info_tmp_test.go Updates test workflow to remove write permissions / removed feature flag.
pkg/workflow/agentic_output_test.go Updates test workflows to remove write permissions / removed feature flag.
pkg/workflow/action_sha_validation_test.go Updates test workflow to remove write permissions / removed feature flag.
pkg/parser/mcp_test.go Updates MCP extraction expectations to always include GITHUB_READ_ONLY=1.
pkg/parser/mcp.go Always injects X-MCP-Readonly: true header and attempts to inject GITHUB_READ_ONLY=1 for Docker.
pkg/constants/constants_test.go Removes DangerousPermissionsWriteFeatureFlag from feature flag constant tests.
pkg/constants/constants.go Removes DangerousPermissionsWriteFeatureFlag constant.

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

Comment on lines 322 to 328
// Check for custom GitHub configuration
if toolConfig, ok := toolValue.(map[string]any); ok {
// Check for read-only mode (only applicable in local/Docker mode)
if !useRemote && readOnly {
// When read-only is true, inline GITHUB_READ_ONLY=1 in docker args
// Always enforce read-only mode for GitHub MCP server (local/Docker mode)
if !useRemote {
// Inline GITHUB_READ_ONLY=1 in docker args to enforce read-only mode
config.Args = append(config.Args[:5], append([]string{"-e", "GITHUB_READ_ONLY=1"}, config.Args[5:]...)...)
}
Copy link

Copilot AI Mar 1, 2026

Choose a reason for hiding this comment

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

Read-only enforcement for local/Docker mode is currently gated on toolValue being a map[string]any. If the workflow enables the GitHub tool using shorthand/null forms (e.g. tools: { github: null } / github:), this block won’t run and GITHUB_READ_ONLY=1 won’t be injected, undermining the “always read-only” guarantee. Enforce GITHUB_READ_ONLY=1 unconditionally whenever useRemote is false (independent of config shape), and keep the map-only block for parsing optional fields like allowed/version/args.

See below for a potential fix:

		// Always enforce read-only mode for GitHub MCP server (local/Docker mode)
		if !useRemote {
			// Inline GITHUB_READ_ONLY=1 in docker args to enforce read-only mode
			config.Args = append(config.Args[:5], append([]string{"-e", "GITHUB_READ_ONLY=1"}, config.Args[5:]...)...)
		}

		// Check for custom GitHub configuration
		if toolConfig, ok := toolValue.(map[string]any); ok {

Copilot uses AI. Check for mistakes.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed in 85d388a. Moved the GITHUB_READ_ONLY=1 injection outside the map[string]any type guard — it now runs unconditionally whenever useRemote is false, covering all config shapes including shorthand github: true. Added a test case for the boolean shorthand form.

Comment on lines 22 to 27
func validateDangerousPermissions(workflowData *WorkflowData) error {
dangerousPermissionsLog.Print("Starting dangerous permissions validation")

// Check if the feature flag is enabled
featureEnabled := isFeatureEnabled(constants.DangerousPermissionsWriteFeatureFlag, workflowData)
if featureEnabled {
dangerousPermissionsLog.Print("dangerous-permissions-write feature flag is enabled, allowing write permissions")
return nil
}

// Parse the top-level workflow permissions
if workflowData.Permissions == "" {
dangerousPermissionsLog.Print("No permissions defined, validation passed")
Copy link

Copilot AI Mar 1, 2026

Choose a reason for hiding this comment

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

Even though the feature-flag bypass was removed, this function still logs "Found %d write permissions without feature flag" later on. That message is now misleading for debugging; update it to remove the feature-flag wording (or delete the log line if it no longer adds value).

Copilot uses AI. Check for mistakes.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed in 85d388a. Updated the log message from "Found %d write permissions without feature flag" to "Found %d write permissions".

…nly: false from workflow files

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

Copilot AI commented Mar 1, 2026

@copilot run tests and fix issues from the last merge. Fix build-wasm

Fixed in db1a7f4. The make recompile (used in the build CI job) was failing on example-permissions-warning.md because it had read-only: false (now a validation error) and dangerous-permissions-write: true (removed feature flag). Also cleaned up the dead dangerous-permissions-write: true feature flag from four other workflow files (daily-issues-report.md, daily-observability-report.md, daily-performance-summary.md, org-health-report.md). All workflow files now compile, and wasm build/golden tests pass.

…ean up stale log message

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

// Always enforce read-only mode for GitHub MCP server (local/Docker mode)
// This must be unconditional to cover shorthand/null tool config forms.
if !useRemote {
Copy link
Contributor

Choose a reason for hiding this comment

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

@copilot move code into the branch that configures the local MCP

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed in dd2fcfb. Moved -e GITHUB_READ_ONLY=1 directly into the Args slice in the else branch that configures the local Docker MCP, eliminating the separate post-block injection. It now mirrors how X-MCP-Readonly: true is set directly in the remote if useRemote branch.

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

Copilot AI commented Mar 1, 2026

@copilot run tests and fix issues from the last merge. Fix build-wasm

Tests pass (dd2fcfb). All pkg/parser, pkg/workflow, and pkg/constants unit tests pass. Also addressed the remaining review comment by moving GITHUB_READ_ONLY=1 directly into the local Docker config branch.

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 GO111MODULE x_amd64/vet git rev-�� --show-toplevel x_amd64/vet /usr/bin/git -json GO111MODULE x_amd64/link git (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 go /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel 1/x64/bin/node x_amd64/compile git (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 git /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel 64/pkg/tool/linurev-parse 86_64/node git (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 /tmp/go-build2014175968/b425/timeutil.test -importcfg ache/node/24.13.1/x64/bin/node -s -w -buildmode=exe ache/node/24.13.1/x64/bin/node -387�� /tmp/TestHashConsistency_KeyOrdering959492113/001/test2.md -extld=gcc /usr/bin/git JNL5/LBKz18BlAfAgit GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha /tmp/gh-aw-test-runs/20260301-213229-32578/test-1917082591/.github/workflows rev-parse /usr/bin/git --show-toplevel go /usr/bin/git git conf�� user.name Test User /usr/bin/git --show-toplevel go /usr/bin/git git (http block)
    • Triggering command: /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/link --show-toplevel git /usr/bin/git ache/go/1.25.0/x64/pkg/tool/linux_amd64/link rev-�� 9083081/b360/constants.test git ache/node/24.13.1/x64/bin/node --show-toplevel git /usr/bin/git WM4pbSqOM8SPG/dREk85kv5kYnaRBnB-eR/2zT6pzrPBqlMJ_Cyucgh/xkH_uyHWM4pbSqOM8SPG (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 -json GO111MODULE 4175968/b350/vet.cfg GOINSECURE GOMOD GOMODCACHE go env runs/20260301-213011-28122/test-1667213229/custom/workflows GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet 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/checkout/git/ref/tags/v3 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel go /usr/bin/git git rev-�� --show-toplevel l /usr/bin/git --show-toplevel go /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha archie.md node /usr/bin/git /tmp/TestHashCongit -extld=gcc /usr/bin/git git rev-�� --show-toplevel git 64/pkg/tool/linux_amd64/vet --show-toplevel git /usr/bin/git 64/pkg/tool/linux_amd64/vet (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 838503045/.github/workflows GO111MODULE 64/pkg/tool/linux_amd64/link GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/link (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha /home/REDACTED/work/gh-aw/gh-aw/.github/workflows/archie.md node /usr/bin/git prettier --check 64/bin/go git rev-�� --show-toplevel go /opt/hostedtoolcache/node/24.13.1/x64/bin/node -json GOMOD 64/bin/go /opt/hostedtoolcache/node/24.13.1/x64/bin/node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel x_amd64/compile /usr/bin/git -json GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE .test git (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 --show-toplevel go /opt/hostedtoolcache/node/24.13.1/x64/bin/node -json GO111MODULE 64/bin/go node /tmp�� /tmp/TestHashConsistency_GoAndJavaScript495438956/001/test-frontmatter-with-nested-objects.md erignore /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 runs/20260301-213011-28122/test-656857058 --json /tmp/go-build2014175968/b416/stringutil.test s/test.md GO111MODULE 64/bin/go /tmp/go-build2014175968/b416/stringutil.test -tes�� -test.paniconexit0 -test.v=true ache/node/24.13.1/x64/bin/node -test.timeout=10git -test.run=^Test -test.short=true--show-toplevel ache/node/24.13.1/x64/bin/node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha --show-toplevel x_amd64/vet /usr/bin/git -json GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE ache/go/1.25.0/x--show-toplevel 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 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 go1.25.0 -c=4 -nolocalimports -importcfg /tmp/go-build2014175968/b392/importcfg -pack _9a60CKVjggF 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 /bin/sh (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 s/test.md go /usr/bin/git -json GO111MODULE 64/bin/go git -C /tmp/gh-aw-test-runs/20260301-213011-28122/test-838503045/.github/workflows rev-parse /usr/bin/git tformat GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha --git-dir git /usr/bin/git --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git git rev-�� --show-toplevel | tr &#39;\n&#39; &#39;:&#39;)$PATH&#34;; [ -n &#34;$GOROOT&#34; ] &amp;&amp; expo /usr/bin/git --show-toplevel go /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel 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 runs/20260301-213011-28122/test-656857058 /tmp/gh-aw-add-gitattributes-test263927346/.github/workflows/test.lock.yml /usr/bin/git s/test.md GO111MODULE 64/bin/go git conf�� --get remote.origin.url /opt/hostedtoolcache/node/24.13.1/x64/bin/node -json GO111MODULE 64/bin/go node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha /tmp/go-build2704492495/b391/_pkg_.a -trimpath /usr/bin/git -p main -lang=go1.25 git -C /tmp/gh-aw-test-runs/20260301-213229-32578/test-3920963451 config /usr/bin/git remote.origin.urgit -c=4 -nolocalimports git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git git rev-�� --show-toplevel git ache/go/1.25.0/x64/bin/bash --show-toplevel git /usr/bin/git 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 -json GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env ithub-script/git/ref/tags/v8 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/upload-artifact/git/ref/tags/v4 --jq .object.sha --show-toplevel git 4492495/b378/console.test 64/bin/go go /usr/bin/git 4492495/b378/console.test t0 --show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha 40\} ster.patch /usr/bin/git --show-toplevel git /usr/bin/git ue &amp;&amp; echo &#34;chain-continued&#34; rev-�� --show-toplevel git /usr/bin/git /tmp/gh-aw-test-git config /usr/bin/infocmp--show-toplevel git (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 --package-lock-only /usr/bin/git /repos/actions/ggit --jq /opt/hostedtoolc--get hU/V9GO631eEkrOyremote.origin.url rev-�� 1/main.md node /usr/bin/sed /tmp/TestHashStagit go /usr/bin/git sed (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 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 run download 12345 --dir test-logs/run-12345 git /usr/bin/git /tmp/compile-insgit rev-parse /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git erignore go (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 env -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 git /usr/bin/git /tmp/compile-insgit (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 --package-lock-only /usr/bin/git /tmp/compile-allgit config /usr/bin/git git rev-�� --show-toplevel git de/node/bin/bash --show-toplevel _UliyopLjxfi /usr/bin/git grep (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 --package-lock-only /usr/bin/git -test.paniconexigit -test.v=true /usr/bin/git git rev-�� --show-toplevel git /usr/bin/mkdir --show-toplevel go /usr/bin/git mkdir (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 --package-lock-only /usr/bin/git /tmp/compile-allgit rev-parse /usr/bin/git git rev-�� --show-toplevel git 1/x64/bin/bash GOMODCACHE go /usr/bin/git git (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 --package-lock-only /usr/bin/git k/gh-aw/gh-aw/.ggit -test.v=true /opt/hostedtoolc--get git rev-�� --show-toplevel /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /usr/bin/tr -unreachable=falgit /tmp/go-build201rev-parse /usr/bin/git tr (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path ck &#39;**/*.cjs&#39; &#39;*GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE ache/go/1.25.0/xGO111MODULE 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 fTfK/iePo2FMUeG5-errorsas GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE 5284700/b386/impconfig (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/link env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE Zm/GFtmVa307QDDNuUCuh0B/7zrZo2yp-importcfg (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 GOMODCACHE go (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 ache/go/1.25.0/x64/bin/node -json GO111MODULE 1/x64/bin/node git ache�� ub/workflows nly /usr/bin/git ithub/workflows/node GO111MODULE /opt/hostedtoolc/home/REDACTED/work/gh-aw/gh-aw/.github/workflows/agent-performance-analyzer.md 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 tr /usr/bin/git [:lower:] git /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git 1083239044 git /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 -json GO111MODULE At,event,headBranch,headSha,displayTitle GOINSECURE GOMOD GOMODCACHE go env 2858317727/.github/workflows 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 --show-toplevel ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /usr/bin/git -json GO111MODULE ache/go/1.25.0/x--show-toplevel git rev-�� --show-toplevel ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /usr/bin/git -json GO111MODULE 4175968/b409/vetuser.name git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha --show-toplevel sed 64/bin/node artifacts-summargit git 1/x64/bin/node git 1/x6�� --show-toplevel git /usr/bin/git vaScript37258684git 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/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion --get remote.origin.urrev-parse /opt/hostedtoolc--show-toplevel git rev-�� --show-toplevel node /usr/bin/git /tmp/TestHashCongit go /usr/bin/git git (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 -nolocalimports -importcfg /tmp/go-build2014175968/b001/importcfg -pack /tmp/go-build2014175968/b001/_testmain.go env -json 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 64/bin/go GOINSECURE GOMOD GOMODCACHE ache/go/1.25.0/xGO111MODULE env 5284700/b365/_pkGOINSECURE 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 64/bin/node -json GO111MODULE ache/go/1.25.0/x--show-toplevel git 1/x6�� --show-toplevel go /usr/bin/git st-3076420278/.ggit GO111MODULE ache/go/1.25.0/x--show-toplevel git (http block)
  • https://api.github.com/repos/owner/repo/contents/file.md
    • Triggering command: /tmp/go-build2014175968/b380/cli.test /tmp/go-build2014175968/b380/cli.test -test.testlogfile=/tmp/go-build2014175968/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-build2704492495/b001/cli.test /tmp/go-build2704492495/b001/cli.test -test.paniconexit0 -test.count=1 -test.run=^Test -test.short=true -test.timeout=3m0s 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 3011-28122/test-git GO111MODULE 1/x64/bin/node 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 ck &#39;**/*.cjs&#39; &#39;*GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE whrn9NjtCOgd env e=false GO111MODULE 64/bin/go GOINSECURE %H %ct %D GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name --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 audit-workflows.git GO111MODULE .cfg git (http block)

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

@pelikhan
Copy link
Contributor

pelikhan commented Mar 1, 2026

…ns-write from test fixtures

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

Copilot AI commented Mar 1, 2026

@copilot fix tests in https://github.com/github/gh-aw/actions/runs/22553219738/job/65326943296?pr=19092

Fixed in fbab3ca. The integration tests in permissions_warning_test.go and runtime_import_checkout_test.go still had read-only: false and issues: write / dangerous-permissions-write: true which are now validation errors. Updated all three test cases to use issues: read and removed the feature flag / read-only: false references.

@pelikhan
Copy link
Contributor

pelikhan commented Mar 1, 2026

…ons from test fixtures

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

Copilot AI commented Mar 1, 2026

@copilot fix tests https://github.com/github/gh-aw/actions/runs/22553801081/job/65328377382

Fixed in c01d42b. Two more integration test files had read-only: false and write permissions with the removed feature flag: permissions_no_github_tool_test.go (removed read-only: false from two cases, changed write perms + dangerous-permissions-write: true to read perms) and permissions_shortcut_included_test.go (changed write-allread-all and issues: writeissues: read, removed feature flag).

@pelikhan
Copy link
Contributor

pelikhan commented Mar 1, 2026

@copilot fix tests

CI / Integration: CLI Completion & Other (pull_request)
CI / Integration: CLI Completion & Other (pull_request)Failing after 55s
CI / Integration: Workflow Compiler (pull_request)
CI / Integration: Workflow Compiler (pull_request)Failing after 48s
CI / Integration: Workflow Features (pull_request)
CI / Integration: Workflow Features (pull_request)Failing after 47s
CI / Integration: Workflow Infra (pull_request)
CI / Integration: Workflow Infra (pull_request)Failing after 45s
CI / Integration: Workflow Misc Part 2 (pull_request)
CI / Integration: Workflow Misc Part 2 (pull_request)Failing after 53s

- compiler_cache_test: change expected custom permissions from write to read
- permissions_import_test: update ValidateIncludedPermissions test cases to use
  read permissions; rename Test3 to 'Missing permission from imported workflow
  fails validation' using metadata:read to test missing case; fix
  ExtractPermissionsFromContent expected value
- strict_mode_test: restore write permissions in write-refused tests, update
  errorMsg to 'strict mode: write permission'; use network wildcard for
  no-strict-field and CLI-precedence tests since write is now globally forbidden
- Remove features: dangerous-permissions-write: true from all test fixtures
- Update all other test files to use read permissions throughout

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

Copilot AI commented Mar 1, 2026

@copilot fix tests

CI / Integration: CLI Completion & Other (pull_request)
...

Fixed in 58d83a1. The 5 failing CI jobs all had integration tests in pkg/workflow/ and pkg/cli/ where test fixtures still used issues: write/contents: write + dangerous-permissions-write: true. Fixes:

  • Batch-replaced writeread permissions and removed dangerous-permissions-write: true + orphaned features: keys across 50+ test files
  • Updated compiler_cache_test.go assertions to expect read instead of write
  • Updated permissions_import_test.go for the write permission scenarios that are now impossible
  • Restored write permissions in strict_mode_test.go for tests that prove write is rejected, updated error message to "Write permissions are not allowed"; changed the "no strict field defaults to strict mode" and TestCLIStrictFlagTakesPrecedence tests to use network wildcard "*" to prove strict mode is on (since write is globally forbidden now)

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 auth status x_amd64/vet (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 (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=invalid -f name=format/too/many/slashes (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 (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v4 --jq .object.sha get --local ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet user.email (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v4 --jq .object.sha get --local ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet pull.rebase (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 (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha cp-write-flag^{commit} (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha -3852801111.cjs (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v6.0.2
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6.0.2 --jq .object.sha (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6.0.2 --jq .object.sha rk_merge_integration_test.go .cfg 64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6.0.2 --jq .object.sha pkg/workflow/activation_outputs_always_declared_test.go pkg/workflow/add_comment_dependencies_test.go pkg/workflow/add_comment_target_repo_integration_test.go pkg/workflow/add_comment_target_repo_test.go pkg/workflow/agent_job_id_test.go pkg/workflow/agentic_engine_interfaces_test.go pkg/workflow/agentic_engine_test.go (http block)
  • https://api.github.com/repos/actions/complex/git/ref/tags/v1
    • Triggering command: /usr/bin/gh gh api /repos/actions/complex/git/ref/tags/v1 --jq .object.sha (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/complex/git/ref/tags/v1 --jq .object.sha cp-write-flag^{commit} (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/complex/git/ref/tags/v1 --jq .object.sha --show-toplevel (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)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v5 --jq .object.sha cp-write-flag^{commit} .cfg ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v5 --jq .object.sha -2804647454.cjs (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 (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha get --local ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet pull.rebase (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha -bool -buildtags ache/node/24.13.1/x64/bin/node -errorsas -ifaceassert -nilfunc /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet -ato�� -1125016118.cjs -buildtags ache/node/24.13.1/x64/bin/node -errorsas -ifaceassert -nilfunc bash (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v6.2.0
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6.2.0 --jq .object.sha (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6.2.0 --jq .object.sha -2191112324.cjs -tests /usr/bin/git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6.2.0 --jq .object.sha -1524516518.cjs -tests /usr/bin/git (http block)
  • https://api.github.com/repos/actions/setup-python/git/ref/tags/v5
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-python/git/ref/tags/v5 --jq .object.sha (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-python/git/ref/tags/v5 --jq .object.sha -unreachable=false /tmp/go-build2676830455/b120/vet.cfg ache/node/24.13.1/x64/bin/node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-python/git/ref/tags/v5 --jq .object.sha --show-toplevel x_amd64/vet /home/REDACTED/go/bin/bash (http block)
  • https://api.github.com/repos/different-owner/different-repo/commits/main
    • Triggering command: /usr/bin/gh /usr/bin/gh api /repos/different-owner/different-repo/commits/main --jq .sha -529702891.cjs git ache/node/24.13.1/x64/bin/node rchestrator_workgit grep tions/node_modul--show-toplevel git rev-�� -346444076.cjs git /usr/bin/git s_import_test.gogit git /usr/local/bin/i--show-toplevel git (http block)
  • https://api.github.com/repos/different-owner/different-repo/contents/workflows/workflow.md
    • Triggering command: /tmp/go-build2496007065/b001/cli.test /tmp/go-build2496007065/b001/cli.test -test.paniconexit0 -test.count=1 -test.timeout=5m0s rev-�� --show-toplevel git me: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } rchestrator_engigit git 1/x64/bin/npm git rev-�� -1059046970.cjs git /usr/bin/git fig_test.go git hich git (http block)
  • https://api.github.com/repos/github/gh-aw
    • Triggering command: /tmp/go-build2676830455/b001/workflow.test /tmp/go-build2676830455/b001/workflow.test -test.paniconexit0 -test.count=1 -test.timeout=3m0s (http block)
    • Triggering command: /tmp/go-build591535491/b001/workflow.test /tmp/go-build591535491/b001/workflow.test -test.paniconexit0 -test.count=1 -test.timeout=3m0s (http block)
    • Triggering command: /tmp/go-build1609479861/b001/workflow.test /tmp/go-build1609479861/b001/workflow.test -test.paniconexit0 -test.count=1 -test.timeout=3m0s rev-�� -4171356025.cjs (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 (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha -unreachable=false /tmp/go-build2676830455/b234/vet.cfg 6830455/b285/vet.cfg (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha --show-toplevel x_amd64/vet 1/x64/bin/node (http block)
  • https://api.github.com/repos/githubnext/this-repo-definitely-does-not-exist-12345
    • Triggering command: /tmp/go-build2676830455/b001/workflow.test /tmp/go-build2676830455/b001/workflow.test -test.paniconexit0 -test.count=1 -test.timeout=3m0s (http block)
    • Triggering command: /tmp/go-build591535491/b001/workflow.test /tmp/go-build591535491/b001/workflow.test -test.paniconexit0 -test.count=1 -test.timeout=3m0s (http block)
    • Triggering command: /tmp/go-build1609479861/b001/workflow.test /tmp/go-build1609479861/b001/workflow.test -test.paniconexit0 -test.count=1 -test.timeout=3m0s rev-�� -4171356025.cjs (http block)

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

@pelikhan
Copy link
Contributor

pelikhan commented Mar 1, 2026

…de test generation

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

Copilot AI commented Mar 1, 2026

@copilot fix tests https://github.com/github/gh-aw/actions/runs/22555020870/job/65330857917?pr=19092

Fixed in 67d3e21. TestParseWorkflowFile_StrictMode was failing because the test dynamically generates YAML content with \nstrict: false\nfeatures: — the \nfeatures: was a leftover from when it originally had dangerous-permissions-write: true under features. Removed the orphaned \nfeatures: suffix from the generated content.

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 -ifaceassert -nilfunc git rev-�� --show-toplevel -tests /usr/bin/git (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 --abbrev-ref HEAD /home/REDACTED/.local/bin/bash (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 (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 (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha -unreachable=false /tmp/go-build2728818972/b036/vet.cfg 8818972/b341/vet.cfg (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel (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 se 8818972/b062/vet.cfg .cfg user.name (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha se 8818972/b063/vet.cfg .cfg user.email (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha --show-toplevel (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 se 8818972/b106/vet.cfg ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet user.email (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha se 8818972/b053/vet.cfg .cfg user.email (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha --show-toplevel (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 se 8818972/b068/vet.cfg .cfg user.email (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 se 8818972/b059/vet.cfg .cfg ion_resolver_tesgit ion_sha_checker.rev-parse ion_sha_checker_--show-toplevel ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet (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 (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 (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 (http block)

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

@pelikhan
Copy link
Contributor

pelikhan commented Mar 1, 2026

…ngs for write→read codemod tests

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

Copilot AI commented Mar 1, 2026

@copilot fix https://github.com/github/gh-aw/actions/runs/22555230072/job/65332446732

Fixed in 668953c. The batch writeread replacement incorrectly changed the content strings in 4 codemod tests (TestWritePermissionsCodemod_MapFormat, _MultipleWritePermissions, _PreservesIndentation, _PreservesComments). These tests verify the write→read codemod transformation, so their content strings need write values for the codemod to replace. Restored the write values in those content strings.

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/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 (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 (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 (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 ew@v1.1.1/spew/common.go 64/pkg/tool/linux_amd64/compile (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 (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 (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 (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 (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path (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 (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 (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 (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 (http block)
  • https://api.github.com/repos/owner/repo/contents/file.md
    • Triggering command: /tmp/go-build1971666522/b001/cli.test /tmp/go-build1971666522/b001/cli.test -test.paniconexit0 -test.count=1 -test.timeout=1m0s (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 tipleWritePermissions\|func TestWritePermissionsCodemod_PreservesIndentation\|func TestWritePermissionsCodemod_PreservesComments (http block)

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

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.

3 participants