actions / actions/runner

Workflow schema omits documented code-quality and copilot-requests permissions

Open Beginner friendly
#4,723 0 comments 0 reactions 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.