Workflow schema omits documented code-quality and copilot-requests permissions
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 6.3k
- Forks
- 1.4k
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 24
Description
Describe the bug
The runner's embedded workflow schema omits the documented code-quality permission. The equivalent schema in actions/languageservices defines it as permission-level-any (read, write, or none). Tooling consuming these two GitHub-owned schemas therefore gets different permission definitions.
To reproduce
Read the same property from both pinned schema revisions with GitHub CLI:
gh api repos/actions/runner/contents/src/Sdk/WorkflowParser/workflow-v1.0.json?ref=80bb1fb827fa44d489263061e71ef4adba7ad8cd -H 'Accept: application/vnd.github.raw+json' | jq '.definitions["permissions-mapping"].mapping.properties["code-quality"]'
gh api repos/actions/languageservices/contents/workflow-parser/src/workflow-v1.0.json?ref=4043eda158e16579cc5fb1b0b07a4bce2a76f0b5 -H 'Accept: application/vnd.github.raw+json' | jq '.definitions["permissions-mapping"].mapping.properties["code-quality"]'
Runner:
null
Language services:
{
"type": "permission-level-any",
"description": "Code quality data."
}
The documentation explicitly lists code-quality: read|write|none and describes code-quality: write for uploading code coverage reports.
The same runner schema also omits copilot-requests, which the language-services schema defines as permission-level-write-or-no-access. The Copilot CLI Actions guide explicitly requires copilot-requests: write and explains the organization policy prerequisite. Replacing code-quality with copilot-requests in the commands above returns null for the runner and that write-or-none definition for language services.
Expected behavior
Include the documented code-quality and copilot-requests permissions in the runner's schema, consistent with the language-services schema. A schema synchronization check would help catch future drift.
Version and validation
Compared the pinned source revisions above on September 15, 2026, using PowerShell JSON parsing.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with src/Sdk/WorkflowParser/workflow-v1.0.json, especially definitions["permissions-mapping"].mapping.properties, and compare it with the pinned actions/languageservices schema. Use the provided gh api and jq commands, or PowerShell JSON parsing, to validate the result. Done means both code-quality and copilot-requests are defined consistently with the language-services schema.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, json
- Domain
- ci-cd, tooling
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 78/100