You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: address copilot reviewer comments on github-app permissions
- parseAppConfig: log warnings for non-string permission values and non-map
permissions entries instead of silently dropping them
- compiler_github_mcp_steps: normalize permission level (trim+lowercase) and
emit a warning for any level that isn't "read" or "none" before skipping it
- validateGitHubMCPAppPermissionsNoWrite: broaden validation to reject all
invalid levels (not just "write") after normalization; list both write-specific
and generic invalid scopes with separate explanations in the error message
- warnGitHubAppPermissionsUnsupportedContexts: new function that emits a
compile-time warning when permissions is set in safe-outputs.github-app,
on.github-app, or the top-level github-app fallback (where it has no effect);
called from compiler.go after the no-write check
- schema: keep permissions in $defs.github_app (allOf+additionalProperties:false
conflict prevents scoping via allOf) but update its description to clarify
it only takes effect for tools.github.github-app; scoping enforced at runtime
via the new warning function
- test: update write-rejection assertion strings to match the new error format
Agent-Logs-Url: https://github.com/github/gh-aw/sessions/293c96f3-a7d6-461b-88c3-8ded806c935c
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy file name to clipboardExpand all lines: pkg/parser/schemas/main_workflow_schema.json
+3-13Lines changed: 3 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -3599,18 +3599,7 @@
3599
3599
},
3600
3600
"github-app": {
3601
3601
"$ref": "#/$defs/github_app",
3602
-
"description": "GitHub App configuration for token minting. When configured, a GitHub App installation access token is minted at workflow start and used instead of the default token. This token overrides any custom github-token setting and provides fine-grained permissions matching the agent job requirements.",
3603
-
"examples": [
3604
-
{
3605
-
"app-id": "${{ vars.APP_ID }}",
3606
-
"private-key": "${{ secrets.APP_PRIVATE_KEY }}"
3607
-
},
3608
-
{
3609
-
"app-id": "${{ vars.APP_ID }}",
3610
-
"private-key": "${{ secrets.APP_PRIVATE_KEY }}",
3611
-
"repositories": ["repo1", "repo2"]
3612
-
}
3613
-
]
3602
+
"description": "GitHub App configuration for token minting. When configured, a GitHub App installation access token is minted at workflow start and used instead of the default token. This token overrides any custom github-token setting and provides fine-grained permissions matching the agent job requirements."
3614
3603
}
3615
3604
},
3616
3605
"additionalProperties": false,
@@ -9580,7 +9569,8 @@
9580
9569
}
9581
9570
},
9582
9571
"permissions": {
9583
-
"$ref": "#/$defs/github_app_permissions"
9572
+
"$ref": "#/$defs/github_app_permissions",
9573
+
"description": "Optional extra GitHub App-only permissions to merge into the minted token. Only takes effect for tools.github.github-app; ignored in other github-app contexts."
0 commit comments