Skip to content

Commit 7cb4c36

Browse files
Merge branch 'main' into patch-1
2 parents 8b699a6 + 67c44ee commit 7cb4c36

88 files changed

Lines changed: 2062 additions & 116 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/workflows/link-check-internal.yml

Lines changed: 65 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,16 @@ on:
1414
type: string
1515
required: true
1616
default: 'en'
17+
create_copilot_issue:
18+
description: 'Create a Copilot-assigned issue with the top 5 redirects to fix'
19+
type: boolean
20+
required: false
21+
default: false
22+
create_report:
23+
description: 'Create the combined broken links report issue in docs-content'
24+
type: boolean
25+
required: false
26+
default: true
1727

1828
permissions:
1929
contents: read
@@ -101,6 +111,60 @@ jobs:
101111
retention-days: 5
102112
if-no-files-found: ignore
103113

114+
- name: Create Copilot redirect issue
115+
if: inputs.create_copilot_issue
116+
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd
117+
with:
118+
github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
119+
script: |
120+
const fs = require('fs')
121+
const reportFile = 'artifacts/link-report-${{ matrix.version }}-${{ matrix.language }}.json'
122+
123+
if (!fs.existsSync(reportFile)) {
124+
core.info('No JSON report found — all links valid, skipping Copilot issue.')
125+
return
126+
}
127+
128+
const report = JSON.parse(fs.readFileSync(reportFile, 'utf8'))
129+
const redirectGroups = report.groups.filter(g => g.isWarning).slice(0, 5)
130+
131+
if (redirectGroups.length === 0) {
132+
core.info('No redirect groups found, skipping Copilot issue.')
133+
return
134+
}
135+
136+
const tableRows = redirectGroups.map(g => {
137+
const occ = g.occurrences[0]
138+
const redirectTarget = occ?.redirectTarget ?? 'unknown'
139+
const file = occ?.file ?? 'unknown'
140+
const lines = (occ?.lines ?? []).join(', ')
141+
return `| \`${g.target}\` | \`${redirectTarget}\` | \`${file}\` | ${lines} |`
142+
}).join('\n')
143+
144+
const body = [
145+
'@copilot Please fix the redirected internal links listed in the table below.',
146+
'All changes should be made within the `github/docs-internal` repository.',
147+
'For each entry, open the source file and replace the **Current Link** with the **Update To** path.',
148+
'When all changes are made, open a pull request in `github/docs-internal` with the fixes.',
149+
'',
150+
'## Redirects to fix',
151+
'',
152+
'| Current Link | Update To | File | Line(s) |',
153+
'|---|---|---|---|',
154+
tableRows,
155+
].join('\n')
156+
157+
const issue = await github.rest.issues.create({
158+
owner: 'github',
159+
repo: 'docs-content',
160+
title: '[Copilot Task] Fix top redirect links: ${{ matrix.version }}/${{ matrix.language }}',
161+
body,
162+
labels: ['broken link report'],
163+
assignees: ['copilot'],
164+
})
165+
166+
core.info(`Created Copilot redirect issue: ${issue.data.html_url}`)
167+
104168
- uses: ./.github/actions/slack-alert
105169
if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
106170
with:
@@ -159,7 +223,7 @@ jobs:
159223
fi
160224
161225
- name: Create issue if broken links found
162-
if: steps.combine.outputs.has_reports == 'true'
226+
if: steps.combine.outputs.has_reports == 'true' && (github.event_name != 'workflow_dispatch' || inputs.create_report != false)
163227
uses: peter-evans/create-issue-from-file@fca9117c27cdc29c6c4db3b86c48e4115a786710 # v5
164228
with:
165229
token: ${{ secrets.DOCS_BOT_PAT_BASE }}

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
# Docs changelog
22

3+
**7 May 2026**
4+
5+
Enterprise administrators can now centrally manage plugin standards for Copilot CLI. We added two new articles:
6+
7+
* A conceptual article explaining how enterprise plugin standards work: [About enterprise-managed plugin standards for Copilot CLI](https://docs.github.com/en/copilot/concepts/agents/copilot-cli/about-enterprise-plugin-standards)
8+
* A how-to article for configuring available marketplaces and default-enabled plugins: [Configuring enterprise plugin standards for Copilot CLI](https://docs.github.com/en/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/configure-enterprise-plugin-standards)
9+
10+
<hr>
11+
312
**23 April 2026**
413

514
We added documentation for the new `gh skill` command (public preview), which you can use to discover, install, update, and publish agent skills directly from GitHub CLI.

content/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1287,6 +1287,12 @@ GHE_LICENSE_FILE=/path/license ghe-license import
12871287
# License synchronized.
12881288
```
12891289
1290+
## Migrations
1291+
1292+
### elm
1293+
1294+
`elm` is the command-line tool for {% data variables.product.prodname_elm %}, a tool for live migrations to {% data variables.enterprise.data_residency_site %}. See [AUTOTITLE](/migrations/elm/elm-cli-reference).
1295+
12901296
## Security
12911297
12921298
### ghe-find-insecure-git-operations

content/admin/data-residency/feature-overview-for-github-enterprise-cloud-with-data-residency.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ By design, the following features are permanently unavailable on {% data variabl
4040
| Feature | Details | More information |
4141
| :- | :- | :- |
4242
| Features unavailable with {% data variables.product.prodname_emus %} | Because {% data variables.product.prodname_emus %} is the only option for identity management on {% data variables.enterprise.data_residency_site %}, features that are unavailable with {% data variables.product.prodname_emus %} on {% data variables.product.prodname_dotcom_the_website %} are also unavailable on {% data variables.enterprise.data_residency_site %}. Notably, these include gists and public repositories. | [AUTOTITLE](/admin/managing-iam/understanding-iam-for-enterprises/abilities-and-restrictions-of-managed-user-accounts) |
43-
| {% data variables.product.prodname_importer %} (the "Import repository" button on {% data variables.product.prodname_dotcom_the_website %}) | Instead, the **{% data variables.product.prodname_importer_proper_name %}** is available to migrate data. See [AUTOTITLE](/migrations/using-github-enterprise-importer/understanding-github-enterprise-importer/about-github-enterprise-importer). | [AUTOTITLE](/migrations/importing-source-code/using-github-importer/about-github-importer) |
43+
| {% data variables.product.prodname_importer %} (the "Import repository" button on {% data variables.product.prodname_dotcom_the_website %}) | This is distinct from **{% data variables.product.prodname_importer_proper_name %}**, which is one of the tools available to migrate data. See [AUTOTITLE](/admin/data-residency/getting-started-with-data-residency-for-github-enterprise-cloud#5-migrate-data). | [AUTOTITLE](/migrations/importing-source-code/using-github-importer/about-github-importer) |
4444

4545
## Features that work differently
4646

content/admin/data-residency/getting-started-with-data-residency-for-github-enterprise-cloud.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ To migrate existing data to your new enterprise on {% data variables.enterprise.
116116
Optionally, you can migrate data to {% data variables.enterprise.data_residency_site %} during your trial. However, migrated organizations will count towards the limit of three new organizations during the trial.
117117

118118
* If you're migrating from {% data variables.product.prodname_dotcom_the_website %}, {% data variables.product.prodname_ghe_server %}, Azure DevOps, or Bitbucket Server, you can migrate source code history and metadata with {% data variables.product.prodname_importer_proper_name %}. See [AUTOTITLE](/migrations/using-github-enterprise-importer/understanding-github-enterprise-importer/about-github-enterprise-importer).
119+
* For migrations from {% data variables.product.prodname_ghe_server %} 3.17 and later, you can use {% data variables.product.prodname_elm %}. This offers less downtime and better support for complex monorepos. See [AUTOTITLE](/migrations/elm/about-live-migrations).
119120
* If you're migrating from a different platform, see [AUTOTITLE](/migrations/overview/migration-paths-to-github#migrations-to-ghecom).
120121

121122
### Example script for {% data variables.product.prodname_importer_proper_name %}

content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-governance.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@ Rulesets allow you to flexibly target the organizations, repositories, and branc
3232
* Within those organizations, you can target all **repositories**, or target a dynamic list by custom property or deployment context.
3333
* Within the repositories, you can target certain **branches or tags**: all branches, the default branch, or a dynamic list using `fnmatch` syntax.
3434

35-
When you create a ruleset that targets branches in a repository, repository administrators can no longer rename branches or change the default branch in the targeted repository. They can still create and delete branches if they have the appropriate permissions.
36-
3735
## How can I control the format of commits?
3836

3937
In branch or tag rulesets, you can add a rule that restricts the format of commit metadata such as commit message or author email.

content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,19 @@ Across all organizations owned by your enterprise, you can allow members with ad
190190
1. Under "Repository issue deletion", review the information about changing the setting. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %}
191191
1. Under "Repository issue deletion", select the dropdown menu and click a policy.
192192

193+
{% ifversion repo-admin-branch-rename %}
194+
195+
## Enforcing a policy for renaming protected branches
196+
197+
By default, repository administrators can rename branches that are targeted by enterprise-level rules, provided the new branch name is still targeted by those rules. You can restrict this ability to enterprise owners only.
198+
199+
{% data reusables.enterprise-accounts.access-enterprise %}
200+
{% data reusables.enterprise-accounts.policies-tab %}
201+
{% data reusables.enterprise-accounts.repositories-tab %}
202+
1. Under "Repository branch renames", select the dropdown menu and click a policy.
203+
204+
{% endif %}
205+
193206
{% ifversion ghes %}
194207

195208
## Enforcing a policy for Git push limits

content/admin/monitoring-and-managing-your-instance/multiple-data-disks/configuring-multiple-data-disks.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,12 @@ title: Configuring multiple data disks
33
product: '{% data variables.product.prodname_ghe_server %}'
44
intro: You can configure additional data disks and use them to host data of different services.
55
versions:
6-
ghes: '>= 3.19'
6+
ghes: '>= 3.17'
77
contentType: concepts
88
category:
99
- Scale your instance
1010
---
1111

12-
> [!NOTE]
13-
> The ability to configure and use multiple data disks is in {% data variables.release-phases.public_preview %} and subject to change. We would love to hear your feedback on the preview. You can share it with your customer success team, or leave a comment in the [community discussion post](https://github.com/orgs/community/discussions/181173). Our preferred option is sharing your feedback with your customer success team.
14-
1512
## Why introduce more disks to the GHES instance?
1613

1714
* Improved resource distribution:

content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-finalize.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,13 @@ Indicates that the directory given on the command line is not a database
5454
itself, but a directory that _contains_ one or more databases under
5555
construction. Those databases will be processed together.
5656

57+
#### `--working-dir=<dir>`
58+
59+
\[Advanced] The directory in which the specified command should be
60+
executed. If this argument is not provided, the command is executed in
61+
the value of `--source-root` passed to [codeql database create](/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-create), if one exists. If no `--source-root` argument is provided, the command is executed in the
62+
current working directory.
63+
5764
#### `--additional-dbs=<database>[:<database>...]`
5865

5966
\[Advanced] Path to additional CodeQL databases under construction.

content/communities/moderating-comments-and-conversations/managing-disruptive-comments.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Managing disruptive comments
3-
intro: 'You can {% ifversion fpt or ghec %}hide, edit,{% else %}edit{% endif %} or delete comments on issues, discussions, pull requests, and commits.'
3+
intro: 'You can hide, edit, or delete comments on issues, discussions, pull requests, and commits.'
44
redirect_from:
55
- /articles/editing-a-comment
66
- /articles/deleting-a-comment
@@ -17,7 +17,7 @@ category:
1717

1818
## Hiding a comment
1919

20-
{% ifversion fpt or ghec %}Organization moderators, and anyone{% else %}Anyone{% endif %} with write access to a repository, can hide comments on issues, discussions, pull requests, and commits.
20+
Organization moderators and anyone with write access to a repository, can hide comments on issues, discussions, pull requests, and commits.
2121

2222
If a comment is off-topic, outdated, or resolved, you may want to hide a comment to keep a discussion focused or make a pull request easier to navigate and review. Hidden comments are minimized but people with read access to the repository can expand them.
2323

@@ -32,7 +32,7 @@ If a comment is off-topic, outdated, or resolved, you may want to hide a comment
3232

3333
## Unhiding a comment
3434

35-
{% ifversion fpt or ghec %}Organization moderators, and anyone{% else %}Anyone{% endif %} with write access to a repository, can unhide comments on issues, discussions, pull requests, and commits.
35+
Organization moderators and anyone with write access to a repository, can unhide comments on issues, discussions, pull requests, and commits.
3636

3737
1. Navigate to the comment you'd like to unhide.
3838
1. On the right side of the comment, click **{% octicon "fold" aria-hidden="true" aria-label="fold" %} Show comment**.
@@ -44,7 +44,7 @@ If a comment is off-topic, outdated, or resolved, you may want to hide a comment
4444

4545
Anyone with write access to a repository can edit comments on issues, discussions, pull requests, and commits.
4646

47-
It's appropriate to edit a comment and remove content that doesn't contribute to the conversation and violates your community's code of conduct{% ifversion fpt or ghec %} or {% data variables.product.github %}'s [Community Guidelines](/free-pro-team@latest/site-policy/github-terms/github-community-guidelines){% endif %}.
47+
It's appropriate to edit a comment and remove content that doesn't contribute to the conversation and violates your community's code of conduct or {% data variables.product.github %}'s [Community Guidelines](/free-pro-team@latest/site-policy/github-terms/github-community-guidelines).
4848

4949
Sometimes it may make sense to clearly indicate edits and their justification.
5050

@@ -71,7 +71,7 @@ Anyone with write access to a repository can delete comments on issues, discussi
7171

7272
If a comment contains some constructive content that adds to the conversation in the issue or pull request, you can edit the comment instead.
7373

74-
Deleting a comment is your last resort as a moderator. It's appropriate to delete a comment if the entire comment adds no constructive content to a conversation and violates your community's code of conduct{% ifversion fpt or ghec %} or GitHub's [Community Guidelines](/free-pro-team@latest/site-policy/github-terms/github-community-guidelines){% endif %}.
74+
Deleting a comment is your last resort as a moderator. It's appropriate to delete a comment if the entire comment adds no constructive content to a conversation and violates your community's code of conduct or GitHub's [Community Guidelines](/free-pro-team@latest/site-policy/github-terms/github-community-guidelines).
7575

7676
Deleting a comment creates a timeline event that is visible to anyone with read access to the repository. However, the username of the person who deleted the comment is only visible to people with write access to the repository. For anyone without write access, the timeline event is anonymized.
7777

0 commit comments

Comments
 (0)