Skip to content

docs: fix README drift and the broken permissions in the quickstart - #79

Merged
austenstone merged 3 commits into
mainfrom
austenstone-docs-accuracy
Aug 20, 2026
Merged

docs: fix README drift and the broken permissions in the quickstart#79
austenstone merged 3 commits into
mainfrom
austenstone-docs-accuracy

Conversation

@austenstone

Copy link
Copy Markdown
Owner

Stacked on #78#77. Base retargets to main as the chain merges.

The quickstart in the README is broken

permissions:
  copilot-requests: write
  pull-requests: write

steps:
  - uses: actions/checkout@v5

Declaring a permissions: block sets every unlisted scope to none. There is no contents: here, so actions/checkout runs with contents: none and fails on any private repo. This is the same trap that has been silently breaking copilot-labeler.yml (see #78).

Fixed: added contents: read, bumped checkout to v7, added timeout-minutes, and called the trap out directly under Installation:

Declaring a permissions: block sets every scope you do not list to none. Always include contents: read if you check out the repo, and copilot-requests: write or Copilot auth will fail.

To stop it regressing, a new readme-example job runs the quickstart verbatim with those exact job-scoped permissions and fail-on-error: true. If the documented path breaks, CI goes red.

Troubleshooting

Reworked entry 1 and added a new entry 2, because "green job, nothing happened" is the actual observed symptom and nothing in the docs explained it:

Job is green but Copilot did nothing
fail-on-error defaults to false, so a failed Copilot run still passes the step. Check the job log for a Copilot CLI exited with code ... warning, which usually means missing copilot-requests: write.

Drift

Item Was Now
Issue Triage link copilot-triage.yml (does not exist) copilot-labeler.yml
Actions Report workflow undocumented listed
max-turns default 5 CLI default (5) — the action sets none
copilot-version default prerelease latest (per #77)
copilot-config "Copilot CLI configuration" "merged into ~/.copilot/settings.json" (per #77)

Every relative link in the README now resolves; verified programmatically.

@austenstone
austenstone force-pushed the austenstone-docs-accuracy branch from 0898e62 to 592afc7 Compare August 20, 2026 16:07
@austenstone
austenstone force-pushed the austenstone-workflow-hardening branch from f67fea8 to ab0a606 Compare August 20, 2026 16:59
@austenstone
austenstone force-pushed the austenstone-docs-accuracy branch 2 times, most recently from 8c39281 to 43dba88 Compare August 20, 2026 17:20
@austenstone
austenstone force-pushed the austenstone-workflow-hardening branch from e0ad9c5 to be60c7b Compare August 20, 2026 17:22
austenstone and others added 3 commits August 20, 2026 10:24
The documented quickstart declares a permissions block without contents: read,
so actions/checkout runs with contents: none and fails on private repos. Same
trap that silently broke copilot-labeler. Fixed, called out explicitly, and
pinned by a readme-example job that runs the quickstart verbatim with scoped
job permissions and fail-on-error: true.

Also fixes a dead link (copilot-triage.yml has been copilot-labeler.yml),
documents the undocumented actions-report workflow, corrects max-turns (the
action sets no default; 5 comes from the CLI) and copilot-version (now latest),
and describes copilot-config as writing settings.json.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@austenstone
austenstone force-pushed the austenstone-docs-accuracy branch from 17c0bef to a22ffaf Compare August 20, 2026 17:24
@austenstone
austenstone changed the base branch from austenstone-workflow-hardening to main August 20, 2026 17:24
@austenstone
austenstone merged commit 5a9fbe5 into main Aug 20, 2026
67 of 98 checks passed
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.

1 participant