Skip to content

Commit 8521171

Browse files
Merge branch 'main' into casey/helm-versioning-strategy
2 parents 1e56dd6 + dfeab5c commit 8521171

912 files changed

Lines changed: 25237 additions & 14552 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/instructions/content-guidelines.instructions.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,20 @@ The strategic priority is simplification: create less content and remove content
1919
* Would a typical internet user figure this out on their own by exploring the UI?
2020
* Is the information presented at the moment the reader actually needs it?
2121

22+
## Give opinionated, actionable guidance
23+
24+
This applies whenever you give the reader advice or present ways to accomplish a task.
25+
26+
* Be opinionated when there is a better way: when several approaches exist, recommend the best one and explain why, rather than presenting all options as equally valid. When they are genuinely equivalent, stay neutral.
27+
* Tell users the best practice AND how to follow it: whenever you state a best practice, pair it with concrete steps or an example so the reader can act on it, never the advice alone.
28+
29+
## Focus on the reader's purpose, not the product
30+
31+
Frame an article around what the reader is trying to accomplish, not the product or feature they use to do it. This applies when naming an article or deciding what a new or substantially reworked article should cover; do not use it to justify restructuring an article during a small edit.
32+
33+
* Title articles by the reader's goal, not the product or feature. For example, "Secure your enterprise", not "Use GitHub Advanced Security".
34+
* Scope articles around a task, not a product. When a task naturally spans multiple features or products, look for the opportunity to cover them together in one task-focused article or tutorial rather than splitting into per-product articles. Keep each article to a single purpose (the task): combine features only when they serve that same task, not to bundle unrelated capabilities.
35+
2236
## Intros: pull people in
2337

2438
This section applies mainly to the `intro` frontmatter field and, for conceptual articles, section openings.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
applyTo: ".github/instructions/**,.github/agents/**"
3+
---
4+
5+
# Editing Copilot content instruction and agent files
6+
7+
This applies when you add, edit, or remove a Copilot instruction or shared agent file that guides how **content** (articles, data files) is written. It does **not** apply to code instructions or agents owned by the engineering team (for example `code.instructions.md`).
8+
9+
When it applies, you **must** first read the instruction-architecture doc in full and follow it:
10+
11+
https://github.com/github/docs-team/blob/main/contributing-to-docs/docs-work/copilot-instruction-architecture.md
12+
13+
Read the current version every time (from a local `github/docs-team` checkout if you have one, otherwise fetch the URL); do not rely on your memory of it, because it changes. If you cannot access it, say so and stop rather than guessing.

.github/workflows/auto-add-ready-for-doc-review.yml

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,18 +27,11 @@ jobs:
2727
- name: Check out repo
2828
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
2929

30-
- name: Generate GitHub App token
31-
id: app-token
32-
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
33-
with:
34-
app-id: ${{ secrets.DOCS_BOT_APP_ID }}
35-
private-key: ${{ secrets.DOCS_BOT_APP_PRIVATE_KEY }}
36-
3730
- name: Check team membership
3831
id: membership_check
3932
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
4033
with:
41-
github-token: ${{ steps.app-token.outputs.token }}
34+
github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
4235
script: |
4336
try {
4437
await github.rest.teams.getMembershipForUserInOrg({
@@ -55,7 +48,7 @@ jobs:
5548
- name: Add ready-for-doc-review label
5649
if: steps.membership_check.outputs.result == 'false'
5750
env:
58-
GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}
51+
GITHUB_TOKEN: ${{ secrets.DOCS_BOT_PAT_BASE }}
5952
PR_URL: ${{ github.event.pull_request.html_url }}
6053
run: |
6154
gh pr edit $PR_URL --add-label ready-for-doc-review

.github/workflows/benchmark-pages.yml

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,6 @@ jobs:
2424
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
2525
with:
2626
persist-credentials: 'false'
27-
- name: Generate GitHub App token
28-
id: app-token
29-
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
30-
with:
31-
app-id: ${{ secrets.DOCS_BOT_APP_ID }}
32-
private-key: ${{ secrets.DOCS_BOT_APP_PRIVATE_KEY }}
33-
owner: github
34-
repositories: docs-engineering
35-
3627
- uses: ./.github/actions/node-npm-setup
3728

3829
- name: Build
@@ -58,7 +49,7 @@ jobs:
5849
- name: Check results and create issue if needed
5950
if: always()
6051
env:
61-
GH_TOKEN: ${{ steps.app-token.outputs.token }}
52+
GH_TOKEN: ${{ secrets.DOCS_BOT_PAT_BASE }}
6253
RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
6354
run: |
6455
echo "Reading benchmark results..."
@@ -174,4 +165,4 @@ jobs:
174165
- uses: ./.github/actions/create-workflow-failure-issue
175166
if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
176167
with:
177-
token: ${{ steps.app-token.outputs.token }}
168+
token: ${{ secrets.DOCS_BOT_PAT_BASE }}

.github/workflows/changelog-agent.yml

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -45,20 +45,11 @@ jobs:
4545
)
4646
runs-on: ubuntu-latest
4747
steps:
48-
- name: Generate GitHub App token
49-
id: app-token
50-
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
51-
with:
52-
app-id: ${{ secrets.DOCS_BOT_APP_ID }}
53-
private-key: ${{ secrets.DOCS_BOT_APP_PRIVATE_KEY }}
54-
owner: github
55-
repositories: docs-internal,docs-content,docs-engineering
56-
5748
- name: Resolve PR data
5849
id: resolve_pr
5950
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
6051
with:
61-
github-token: ${{ steps.app-token.outputs.token }}
52+
github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
6253
script: |
6354
let pr;
6455
if (context.eventName === 'workflow_dispatch') {
@@ -86,7 +77,7 @@ jobs:
8677
id: check_team
8778
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
8879
with:
89-
github-token: ${{ steps.app-token.outputs.token }}
80+
github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
9081
script: |
9182
const author = '${{ steps.resolve_pr.outputs.pr_author }}';
9283
@@ -124,7 +115,7 @@ jobs:
124115
env:
125116
PR_BODY: ${{ steps.resolve_pr.outputs.pr_body }}
126117
with:
127-
github-token: ${{ steps.app-token.outputs.token }}
118+
github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
128119
script: |
129120
const body = process.env.PR_BODY || '';
130121
@@ -159,7 +150,7 @@ jobs:
159150
id: check_parent
160151
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
161152
with:
162-
github-token: ${{ steps.app-token.outputs.token }}
153+
github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
163154
script: |
164155
const issueNumber = parseInt('${{ steps.extract_issue.outputs.issue_number }}', 10);
165156
@@ -240,7 +231,7 @@ jobs:
240231
PR_BODY: ${{ steps.resolve_pr.outputs.pr_body }}
241232
PR_URL: ${{ steps.resolve_pr.outputs.pr_url }}
242233
with:
243-
github-token: ${{ steps.app-token.outputs.token }}
234+
github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
244235
script: |
245236
const prNumber = parseInt('${{ steps.resolve_pr.outputs.pr_number }}', 10);
246237
const prAuthor = '${{ steps.resolve_pr.outputs.pr_author }}';
@@ -281,7 +272,7 @@ jobs:
281272
id: check_existing
282273
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
283274
with:
284-
github-token: ${{ steps.app-token.outputs.token }}
275+
github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
285276
script: |
286277
const branchName = `changelog-agent-${{ steps.resolve_pr.outputs.pr_number }}`;
287278
const { data: pulls } = await github.rest.pulls.list({
@@ -304,7 +295,7 @@ jobs:
304295
id: read_examples
305296
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
306297
with:
307-
github-token: ${{ steps.app-token.outputs.token }}
298+
github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
308299
script: |
309300
// Fetch changelog-internal.md from docs-content
310301
const { data } = await github.rest.repos.getContent({
@@ -415,13 +406,13 @@ jobs:
415406
416407
- name: Set up Node.js for Copilot CLI
417408
if: steps.check_parent.outputs.has_parent == 'true' && steps.check_existing.outputs.exists == 'false'
418-
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
409+
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
419410
with:
420411
node-version: 24
421412

422413
- name: Install GitHub Copilot CLI
423414
if: steps.check_parent.outputs.has_parent == 'true' && steps.check_existing.outputs.exists == 'false'
424-
run: npm install -g @github/copilot
415+
run: npm install -g @github/copilot@1.0.71
425416

426417
- name: Generate changelog draft via Copilot
427418
if: steps.check_parent.outputs.has_parent == 'true' && steps.check_existing.outputs.exists == 'false'
@@ -474,7 +465,7 @@ jobs:
474465
PARENT_AUTHOR: ${{ steps.check_parent.outputs.parent_author }}
475466
PARENT_ASSIGNEES: ${{ steps.check_parent.outputs.parent_assignees }}
476467
with:
477-
github-token: ${{ steps.app-token.outputs.token }}
468+
github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
478469
script: |
479470
const branchName = `changelog-agent-${{ steps.resolve_pr.outputs.pr_number }}`;
480471
const filePath = 'docs-content-docs/docs-content-workflows/changelog-internal.md';
@@ -635,7 +626,7 @@ jobs:
635626
PARENT_AUTHOR: ${{ steps.check_parent.outputs.parent_author }}
636627
PARENT_ASSIGNEES: ${{ steps.check_parent.outputs.parent_assignees }}
637628
with:
638-
github-token: ${{ steps.app-token.outputs.token }}
629+
github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
639630
script: |
640631
const author = process.env.PR_AUTHOR;
641632
const changelogPrUrl = process.env.CHANGELOG_PR_URL;
@@ -730,7 +721,7 @@ jobs:
730721
if: steps.create_pr.outputs.changelog_pr_url != '' && inputs.dry_run != true
731722
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
732723
with:
733-
github-token: ${{ steps.app-token.outputs.token }}
724+
github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
734725
script: |
735726
const changelogPrUrl = '${{ steps.create_pr.outputs.changelog_pr_url }}';
736727
await github.rest.issues.createComment({
@@ -753,4 +744,4 @@ jobs:
753744
- uses: ./.github/actions/create-workflow-failure-issue
754745
if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
755746
with:
756-
token: ${{ steps.app-token.outputs.token }}
747+
token: ${{ secrets.DOCS_BOT_PAT_BASE }}

.github/workflows/changelog-prompt.yml

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,11 @@ jobs:
1818
runs-on: ubuntu-latest
1919

2020
steps:
21-
- name: Generate GitHub App token
22-
id: app-token
23-
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
24-
with:
25-
app-id: ${{ secrets.DOCS_BOT_APP_ID }}
26-
private-key: ${{ secrets.DOCS_BOT_APP_PRIVATE_KEY }}
27-
2821
- name: Check if PR author is in docs-content team
2922
id: check_team
3023
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
3124
with:
32-
github-token: ${{ steps.app-token.outputs.token }}
25+
github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
3326
script: |
3427
try {
3528
const pr = context.payload.pull_request;
@@ -50,7 +43,7 @@ jobs:
5043

5144
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
5245
with:
53-
github-token: ${{ steps.app-token.outputs.token }}
46+
github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
5447
script: |
5548
// Get PR author username
5649
const pr = context.payload.pull_request;

.github/workflows/check-for-spammy-issues.yml

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,9 @@ jobs:
1717
if: github.repository == 'github/docs'
1818
runs-on: ubuntu-latest
1919
steps:
20-
- name: Generate GitHub App token
21-
id: app-token
22-
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
23-
with:
24-
app-id: ${{ secrets.DOCS_BOT_APP_ID }}
25-
private-key: ${{ secrets.DOCS_BOT_APP_PRIVATE_KEY }}
26-
2720
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3
2821
with:
29-
github-token: ${{ steps.app-token.outputs.token }}
22+
github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
3023
script: |
3124
3225
const issue = context.payload.issue

.github/workflows/close-bad-repo-sync-prs.yml

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,10 @@ jobs:
2121
name: Close if invalid repo-sync PR author
2222
runs-on: ubuntu-latest
2323
steps:
24-
- name: Generate GitHub App token
25-
id: app-token
26-
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
27-
with:
28-
app-id: ${{ secrets.DOCS_BOT_APP_ID }}
29-
private-key: ${{ secrets.DOCS_BOT_APP_PRIVATE_KEY }}
30-
3124
- name: Close pull request if unwanted
3225
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3
3326
with:
34-
github-token: ${{ steps.app-token.outputs.token }}
27+
github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
3528
script: |
3629
const { owner, repo } = context.repo
3730
const prCreator = context.actor

.github/workflows/codeql.yml

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -42,17 +42,7 @@ jobs:
4242
with:
4343
slack_token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
4444

45-
- name: Generate GitHub App token
46-
if: ${{ failure() && github.event_name != 'pull_request' }}
47-
id: app-token
48-
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
49-
with:
50-
app-id: ${{ secrets.DOCS_BOT_APP_ID }}
51-
private-key: ${{ secrets.DOCS_BOT_APP_PRIVATE_KEY }}
52-
owner: github
53-
repositories: docs-engineering
54-
5545
- uses: ./.github/actions/create-workflow-failure-issue
5646
if: ${{ failure() && github.event_name != 'pull_request' }}
5747
with:
58-
token: ${{ steps.app-token.outputs.token }}
48+
token: ${{ secrets.DOCS_BOT_PAT_BASE }}

.github/workflows/confirm-internal-staff-work-in-docs.yml

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,21 +23,12 @@ jobs:
2323
continue-on-error: true
2424
if: github.repository == 'github/docs' && github.actor != 'docs-bot'
2525
steps:
26-
- name: Generate GitHub App token
27-
id: app-token
28-
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
29-
with:
30-
app-id: ${{ secrets.DOCS_BOT_APP_ID }}
31-
private-key: ${{ secrets.DOCS_BOT_APP_PRIVATE_KEY }}
32-
owner: github
33-
repositories: ${{ secrets.TEAM_CONTENT_REPO }}
34-
3526
- id: membership_check
3627
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3
3728
env:
3829
TEAM_CONTENT_REPO: ${{ secrets.TEAM_CONTENT_REPO }}
3930
with:
40-
github-token: ${{ steps.app-token.outputs.token }}
31+
github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
4132
script: |
4233
// Only perform this action with GitHub employees
4334
try {
@@ -84,7 +75,7 @@ jobs:
8475
8576
- name: Send Slack notification if a GitHub employee who isn't on the docs team opens an issue in public
8677
if: ${{ steps.membership_check.outputs.did_warn && github.repository == 'github/docs' }}
87-
uses: slackapi/slack-github-action@45a88b9581bfab2566dc881e2cd66d334e621e2c # v3.0.3
78+
uses: slackapi/slack-github-action@dcb1066f776dd043e64d0e8ba94ca15cc7e1875d # v4.0.0
8879
env:
8980
SLACK_MESSAGE: <@${{ github.actor }}> opened https://github.com/github/docs/issues/${{ github.event.number || github.event.issue.number }} publicly on the github/docs repo instead of a private repo. They have been notified via a new issue in the private repo to confirm this was intentional.
9081
SLACK_CHANNEL_ID: ${{ secrets.DOCS_OPEN_SOURCE_SLACK_CHANNEL_ID }}

0 commit comments

Comments
 (0)