diff --git a/.github/branch_protection_settings/main.json b/.github/branch_protection_settings/main.json
index 39c2b0491e00..29e0c828d766 100644
--- a/.github/branch_protection_settings/main.json
+++ b/.github/branch_protection_settings/main.json
@@ -41,7 +41,10 @@
"workflows",
"lint-code",
"secret-scanning",
- "pagelist"
+ "pagelist",
+ "docs-internal-docker-image / docs-internal-docker-image",
+ "docs-internal-docker-security / docs-internal-docker-security",
+ "docs-internal-moda-config-bundle / docs-internal-moda-config-bundle"
],
"contexts_url": "https://api.github.com/repos/github/docs-internal/branches/main/protection/required_status_checks/contexts",
"checks": [
@@ -85,7 +88,19 @@
{ "context": "workflows", "app_id": 15368 },
{ "context": "lint-code", "app_id": 15368 },
{ "context": "secret-scanning", "app_id": 15368 },
- { "context": "pagelist", "app_id": 15368 }
+ { "context": "pagelist", "app_id": 15368 },
+ {
+ "context": "docs-internal-docker-image / docs-internal-docker-image",
+ "app_id": 15368
+ },
+ {
+ "context": "docs-internal-docker-security / docs-internal-docker-security",
+ "app_id": 15368
+ },
+ {
+ "context": "docs-internal-moda-config-bundle / docs-internal-moda-config-bundle",
+ "app_id": 15368
+ }
]
},
"restrictions": {
diff --git a/.github/workflows/azure-prod-build-deploy.yml b/.github/workflows/azure-prod-build-deploy.yml
index 7e5e27bea77e..9a09b5f18599 100644
--- a/.github/workflows/azure-prod-build-deploy.yml
+++ b/.github/workflows/azure-prod-build-deploy.yml
@@ -5,9 +5,6 @@ name: Azure Production - Build and Deploy
# **Who does it impact**: All contributors.
on:
- push:
- branches:
- - main
workflow_dispatch:
permissions:
diff --git a/.github/workflows/codeowners-legal.yml b/.github/workflows/codeowners-legal.yml
index ca9edb14b8b0..e783f5ad4321 100644
--- a/.github/workflows/codeowners-legal.yml
+++ b/.github/workflows/codeowners-legal.yml
@@ -20,6 +20,7 @@ on:
permissions:
contents: read
pull-requests: write
+ repository-projects: read
jobs:
codeowners-legal:
@@ -33,7 +34,7 @@ jobs:
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
# Picking this number is a "best guess". If we make it too large,
- # the checkout will take potentially unnecessariily long.
+ # the checkout will take potentially unnecessarily long.
# This reduces the chance that tj-actions/changed-files has to
# fetch deeper history. But if it needs to, it will.
fetch-depth: 10
@@ -58,19 +59,14 @@ jobs:
CHANGED_FILE_PATHS: ${{ steps.changed-files.outputs.all_changed_files }}
CONTENT_TYPE: 'rai'
- - name: Add Legal team as a reviewer
+ - name: Check for reviewers-legal label, add if missing and request review
if: steps.checkContentType.outputs.containsContentType == 'true'
env:
- # The GH CLI uses a slightly different env name for
- # the token than the GITHUB_TOKEN used by actions
- GH_TOKEN: ${{ secrets.DOCS_BOT_PAT_WRITEORG_PROJECT }}
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR: ${{ github.event.pull_request.html_url }}
run: |
- has_reviewer=$(
- gh pr view $PR --json reviews |
- jq 'any(.reviews[]; select(length > 0))'
- )
- if ! $has_reviewer
- then
+ labels=$(gh pr view ${{ github.event.pull_request.number }} --json labels --jq '.labels[].name')
+ if ! echo "$labels" | grep -q 'reviewers-legal'; then
gh pr edit $PR --add-reviewer github/legal-product
+ gh pr edit $PR --add-label reviewers-legal
fi
diff --git a/.github/workflows/purge-fastly.yml b/.github/workflows/purge-fastly.yml
index b0415c6c44bd..aa02af6bf3e8 100644
--- a/.github/workflows/purge-fastly.yml
+++ b/.github/workflows/purge-fastly.yml
@@ -5,6 +5,7 @@ name: Purge Fastly
# **Who does it impact**: Writers and engineers.
on:
+ deployment_status:
workflow_dispatch:
inputs:
nuke_all:
@@ -16,9 +17,6 @@ on:
description: "Comma separated languages. E.g. 'en,ja, es' (defaults to all)"
required: false
default: ''
- push:
- branches:
- - main
permissions:
contents: read
@@ -29,11 +27,12 @@ env:
jobs:
send-purges:
+ # Run when workflow_dispatch is the event (manual) or when deployment_status is the event (automatic) and it's a successful production deploy
if: >-
${{
github.repository == 'github/docs-internal' &&
- (github.event_name != 'workflow_run' ||
- github.event.workflow_run.conclusion == 'success')
+ (github.event_name != 'deployment_status' ||
+ github.event.deployment_status.state == 'success' && github.event.deployment_status.environment == 'production')
}}
runs-on: ubuntu-latest
steps:
diff --git a/config/kubernetes/production/deployments/webapp.yaml b/config/kubernetes/production/deployments/webapp.yaml
index 35e49765e9d0..fc0bfb0feb54 100644
--- a/config/kubernetes/production/deployments/webapp.yaml
+++ b/config/kubernetes/production/deployments/webapp.yaml
@@ -23,10 +23,10 @@ spec:
image: docs-internal
resources:
requests:
- cpu: 4000m
- memory: 5Gi
+ cpu: 8000m
+ memory: 10Gi
limits:
- cpu: 4000m
+ cpu: 16000m
memory: 14Gi
ports:
- name: http
diff --git a/config/moda/deployment.yaml b/config/moda/deployment.yaml
index a8edafe09980..d77c5bb51341 100644
--- a/config/moda/deployment.yaml
+++ b/config/moda/deployment.yaml
@@ -1,13 +1,36 @@
-required_builds:
- - docs-internal-moda-config-bundle / docs-internal-moda-config-bundle
- - docs-internal-docker-image / docs-internal-docker-image
- - docs-internal-docker-security / docs-internal-docker-security
+# Deploy configuration reference: https://thehub.github.com/epd/engineering/products-and-services/internal/moda/reference/deployment-yaml/
+
environments:
- name: production
- auto_deploy: true
+ require_pipeline: true
cluster_selector:
profile: general
region: iad
+
+required_builds:
+ - docs-internal-moda-config-bundle / docs-internal-moda-config-bundle
+ - docs-internal-docker-image / docs-internal-docker-image
+ - docs-internal-docker-security / docs-internal-docker-security
+
+# Make the pipeline start automatically when a PR is enqueued
+auto_start_pipeline: production_rollout
+
+pipelines:
+ production_rollout:
+ thread_notifications: true
+ notify_users_via_dm: false
+ timeout: 1200
+ stages:
+ - name: full_production
+ kind: deployment
+ start_message: We are now going to deploy {{app}}/{{ref}}! Please pause or cancel the pipeline after the deploy if you want more time before auto-merging your pull request(s).
+ config:
+ environment: production
+ timeout: 1200
+ # gates:
+ # - kind: timer
+ # duration: 1200
+
notifications:
slack_channels:
- '#docs-ops'
diff --git a/content/actions/administering-github-actions/usage-limits-billing-and-administration.md b/content/actions/administering-github-actions/usage-limits-billing-and-administration.md
index b39687f11afd..cf36742d9775 100644
--- a/content/actions/administering-github-actions/usage-limits-billing-and-administration.md
+++ b/content/actions/administering-github-actions/usage-limits-billing-and-administration.md
@@ -45,7 +45,7 @@ There are some limits on {% data variables.product.prodname_actions %} usage whe
* **Job execution time** - Each job in a workflow can run for up to 6 hours of execution time. If a job reaches this limit, the job is terminated and fails to complete.
{% data reusables.actions.usage-workflow-run-time %}
{% data reusables.actions.usage-api-requests %}
-* **Webhook rate limit** - Each repository is limited to 1500 triggered events every 10 seconds.
+* **Webhook rate limit** - Each repository is limited to 1500 events triggering a workflow run every 10 seconds. When the limit is reached, the workflow runs that were supposed to be triggered by the webhook events will be blocked and will not be queued.
* **Concurrent jobs** - The number of concurrent jobs you can run in your account depends on your {% data variables.product.prodname_dotcom %} plan, as well as the type of runner used. If exceeded, any additional jobs are queued.
**Standard {% data variables.product.prodname_dotcom %}-hosted runners**
diff --git a/content/actions/hosting-your-own-runners/managing-self-hosted-runners/running-scripts-before-or-after-a-job.md b/content/actions/hosting-your-own-runners/managing-self-hosted-runners/running-scripts-before-or-after-a-job.md
index 739fbb652f77..28fb850343eb 100644
--- a/content/actions/hosting-your-own-runners/managing-self-hosted-runners/running-scripts-before-or-after-a-job.md
+++ b/content/actions/hosting-your-own-runners/managing-self-hosted-runners/running-scripts-before-or-after-a-job.md
@@ -49,7 +49,8 @@ The scripts are automatically executed when the runner has the following environ
* `ACTIONS_RUNNER_HOOK_JOB_STARTED`: The script defined in this environment variable is triggered when a job has been assigned to a runner, but before the job starts running.
* `ACTIONS_RUNNER_HOOK_JOB_COMPLETED`: The script defined in this environment variable is triggered at the end of the job, after all the steps defined in the workflow have run.
-To set these environment variables, you can either add them to the operating system, or add them to a file named `.env` within the self-hosted runner application directory (that is, the directory into which you downloaded and unpacked the runner software). For example, the following `.env` entry will have the runner automatically run a script, saved as `/opt/runner/cleanup_script.sh` on the runner machine, before each job runs:
+To set these environment variables, you can either add them to the operating system, or add them to a file named `.env` within the self-hosted runner application directory (that is, the directory into which you downloaded and unpacked the runner software). Note that any change to the `.env` file will require restarting the runner.
+For example, the following `.env` entry will have the runner automatically run a script, saved as `/opt/runner/cleanup_script.sh` on the runner machine, before each job runs:
```bash
ACTIONS_RUNNER_HOOK_JOB_STARTED=/opt/runner/cleanup_script.sh
diff --git a/content/actions/hosting-your-own-runners/managing-self-hosted-runners/using-self-hosted-runners-in-a-workflow.md b/content/actions/hosting-your-own-runners/managing-self-hosted-runners/using-self-hosted-runners-in-a-workflow.md
index 3416f054f945..4cbdecc86572 100644
--- a/content/actions/hosting-your-own-runners/managing-self-hosted-runners/using-self-hosted-runners-in-a-workflow.md
+++ b/content/actions/hosting-your-own-runners/managing-self-hosted-runners/using-self-hosted-runners-in-a-workflow.md
@@ -17,7 +17,7 @@ shortTitle: Use runners in a workflow
You can target self-hosted runners for use in a workflow based on the labels assigned to the runners{% ifversion target-runner-groups %}, or their group membership, or a combination of these{% endif %}.
->[!NOTE]Actions Runner Controller does not support multiple labels, only the name of the runner can be used in place of a label
+>[!IMPORTANT]Runner Scale Sets do not support multiple labels, only the name of the runner can be used in place of a label. See [AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/deploying-runner-scale-sets-with-actions-runner-controller).
## About self-hosted runner labels
@@ -109,9 +109,9 @@ These labels operate cumulatively, so a self-hosted runner must have all four la
## Routing precedence for self-hosted runners
-When routing a job to a self-hosted runner, {% data variables.product.prodname_dotcom %} looks for a runner that matches the job's `runs-on` labels{% ifversion target-runner-groups %} and/or groups{% endif %}:
+When routing a job to a self-hosted runner, {% data variables.product.prodname_dotcom %} looks for a runner that matches the job's `runs-on` labels{% ifversion target-runner-groups %} and groups{% endif %}:
-* If {% data variables.product.prodname_dotcom %} finds an online and idle runner that matches the job's `runs-on` labels{% ifversion target-runner-groups %} and/or groups{% endif %}, the job is then assigned and sent to the runner.
+* If {% data variables.product.prodname_dotcom %} finds an online and idle runner that matches the job's `runs-on` labels{% ifversion target-runner-groups %} and groups{% endif %}, the job is then assigned and sent to the runner.
* If the runner doesn't pick up the assigned job within 60 seconds, the job is re-queued so that a new runner can accept it.
-* If {% data variables.product.prodname_dotcom %} doesn't find an online and idle runner that matches the job's `runs-on` labels {% ifversion target-runner-groups %} and/or groups{% endif %}, then the job will remain queued until a runner comes online.
+* If {% data variables.product.prodname_dotcom %} doesn't find an online and idle runner that matches the job's `runs-on` labels {% ifversion target-runner-groups %} and groups{% endif %}, then the job will remain queued until a runner comes online.
* If the job remains queued for more than 24 hours, the job will fail.
diff --git a/content/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-google-cloud-platform.md b/content/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-google-cloud-platform.md
index 9839084bd93a..cbf49af87bdc 100644
--- a/content/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-google-cloud-platform.md
+++ b/content/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-google-cloud-platform.md
@@ -29,6 +29,16 @@ This guide gives an overview of how to configure GCP to trust {% data variables.
{% data reusables.actions.oidc-on-ghecom %}
+{% ifversion ghes %}
+{% data reusables.actions.oidc-endpoints %}
+
+
+ > [!NOTE]
+ > Google Cloud Platform does not have fixed IP ranges defined for these endpoints.
+
+* Make sure that the value of the issuer claim that's included with the JSON Web Token (JWT) is set to a publicly routable URL. For more information, see [AUTOTITLE](/enterprise-server@latest/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect).
+{% endif %}
+
## Adding a Google Cloud Workload Identity Provider
To configure the OIDC identity provider in GCP, you will need to perform the following configuration. For instructions on making these changes, refer to [the GCP documentation](https://github.com/google-github-actions/auth).
diff --git a/content/actions/use-cases-and-examples/building-and-testing/building-and-testing-java-with-maven.md b/content/actions/use-cases-and-examples/building-and-testing/building-and-testing-java-with-maven.md
index 13230c3a7323..4cd3b9aeccab 100644
--- a/content/actions/use-cases-and-examples/building-and-testing/building-and-testing-java-with-maven.md
+++ b/content/actions/use-cases-and-examples/building-and-testing/building-and-testing-java-with-maven.md
@@ -117,7 +117,7 @@ You can cache your dependencies to speed up your workflow runs. After a successf
```yaml copy
steps:
- uses: {% data reusables.actions.action-checkout %}
- - name: Set up JDK 11
+ - name: Set up JDK 17
uses: {% data reusables.actions.action-setup-java %}
with:
java-version: '17'
diff --git a/content/actions/writing-workflows/quickstart.md b/content/actions/writing-workflows/quickstart.md
index c5e0b1706ecb..22072df36d2e 100644
--- a/content/actions/writing-workflows/quickstart.md
+++ b/content/actions/writing-workflows/quickstart.md
@@ -5,6 +5,7 @@ allowTitleToDifferFromFilename: true
redirect_from:
- /actions/getting-started-with-github-actions/starting-with-preconfigured-workflow-templates
- /actions/quickstart
+ - /actions/getting-started-with-github-actions
versions:
fpt: '*'
ghes: '*'
diff --git a/content/admin/data-residency/about-github-enterprise-cloud-with-data-residency.md b/content/admin/data-residency/about-github-enterprise-cloud-with-data-residency.md
index f888091172dc..1ad086136291 100644
--- a/content/admin/data-residency/about-github-enterprise-cloud-with-data-residency.md
+++ b/content/admin/data-residency/about-github-enterprise-cloud-with-data-residency.md
@@ -14,7 +14,7 @@ redirect_from:
By default, {% data variables.product.company_short %} stores data for {% data variables.product.prodname_dotcom_the_website %} in the USA. {% data reusables.data-residency.when-you-adopt-data-residency %} To learn how {% data variables.product.company_short %} handles data storage, see [AUTOTITLE](/admin/data-residency/about-storage-of-your-data-with-data-residency).
-Access to this feature is currently managed by {% data variables.contact.contact_enterprise_sales %}.
+To get {% data variables.enterprise.data_residency_short %} for your enterprise, **contact {% data variables.contact.contact_sales_data_residency %}**.
## What is {% data variables.product.product_name %}?
@@ -107,7 +107,7 @@ When reading the documentation, readers may need to substitute references to {%
## Getting started
-When you have worked with your account team in {% data variables.contact.contact_enterprise_sales %} to create a new enterprise account and choose a subdomain on {% data variables.enterprise.data_residency_site %}, you can get started with your new enterprise.
+When you have worked with your account team to create a new enterprise account and choose a subdomain on {% data variables.enterprise.data_residency_site %}, you can get started with your new enterprise.
You will:
diff --git a/content/admin/data-residency/about-storage-of-your-data-with-data-residency.md b/content/admin/data-residency/about-storage-of-your-data-with-data-residency.md
index 55cabec355da..18fbea1006d2 100644
--- a/content/admin/data-residency/about-storage-of-your-data-with-data-residency.md
+++ b/content/admin/data-residency/about-storage-of-your-data-with-data-residency.md
@@ -16,7 +16,7 @@ redirect_from:
Although your code and user data are stored within your chosen region, {% data variables.product.company_short %} may store certain types of data outside your region, and may need to transfer some data outside your region.
-If you are in doubt about any aspect of {% data variables.enterprise.data_residency_short %}, contact your account manager in {% data variables.contact.contact_enterprise_sales %}.
+If you are in doubt about any aspect of {% data variables.enterprise.data_residency_short %}, contact your account manager.
## Data stored in your region
diff --git a/content/admin/data-residency/getting-started-with-data-residency-for-github-enterprise-cloud.md b/content/admin/data-residency/getting-started-with-data-residency-for-github-enterprise-cloud.md
index 8378b7465145..f84cea879251 100644
--- a/content/admin/data-residency/getting-started-with-data-residency-for-github-enterprise-cloud.md
+++ b/content/admin/data-residency/getting-started-with-data-residency-for-github-enterprise-cloud.md
@@ -17,7 +17,7 @@ redirect_from:
When you adopt {% data variables.enterprise.data_residency %}, you can choose where your company's code and data are stored.
-After you have **worked with {% data variables.contact.contact_enterprise_sales %}** to create an enterprise account with a dedicated URL on {% data variables.enterprise.data_residency_site %}, you'll use this guide to set up your enterprise. You will:
+After you have **worked with {% data variables.contact.contact_sales_data_residency %}** to create an enterprise account with a dedicated URL on {% data variables.enterprise.data_residency_site %}, you'll use this guide to set up your enterprise. You will:
* Add users by configuring authentication and provisioning with an identity management system
* Set up billing for your enterprise
diff --git a/content/admin/overview/setting-up-a-trial-of-github-enterprise-cloud.md b/content/admin/overview/setting-up-a-trial-of-github-enterprise-cloud.md
index c357b7736a1d..73c2a95c5e58 100644
--- a/content/admin/overview/setting-up-a-trial-of-github-enterprise-cloud.md
+++ b/content/admin/overview/setting-up-a-trial-of-github-enterprise-cloud.md
@@ -18,10 +18,10 @@ shortTitle: Enterprise Cloud trial
You can set up a trial to evaluate the additional features that come with {% data variables.product.prodname_ghe_cloud %}, such as SAML single sign-on (SSO), internal repositories, and audit log streaming. For a list of available features, see our [Pricing](https://github.com/pricing) page.
-Your trial **won't** include {% data variables.enterprise.data_residency_short %} on {% data variables.enterprise.data_residency_site %} or access to {% data variables.product.prodname_ghe_server %}. To test these features, contact {% data variables.contact.contact_enterprise_sales %}.
-
Set up a trial of {% data variables.product.prodname_ghe_cloud %} {% octicon "link-external" height:16 %}
+>[!IMPORTANT] Your trial enterprise will be hosted in the USA. If you require {% data variables.enterprise.data_residency_short %} outside the USA, contact {% data variables.contact.contact_sales_data_residency %}.
+
To set up a trial, you must be signed in to a personal account. If you don't have a personal account, see [AUTOTITLE](/free-pro-team@latest/get-started/start-your-journey/creating-an-account-on-github).
You do not need to provide a payment method during the trial.
diff --git a/content/authentication/keeping-your-account-and-data-secure/about-authentication-to-github.md b/content/authentication/keeping-your-account-and-data-secure/about-authentication-to-github.md
index d008ecb45603..63e32f7fe85c 100644
--- a/content/authentication/keeping-your-account-and-data-secure/about-authentication-to-github.md
+++ b/content/authentication/keeping-your-account-and-data-secure/about-authentication-to-github.md
@@ -55,7 +55,7 @@ If you need to use multiple accounts on {% data variables.location.product_locat
* If you enable 2FA, after you successfully enter your username and password, we'll also prompt you to provide a code that's generated by a time-based one time password (TOTP) application on your mobile device{% ifversion fpt or ghec %} or sent as a text message (SMS).{% endif %}{% ifversion 2fa-check-up-period %}
* After you configure 2FA, your account enters a check up period for 28 days. You can leave the check up period by successfully performing 2FA within those 28 days. If you don't perform 2FA in that timespan, you'll then be asked to perform 2FA inside one of your existing {% data variables.product.prodname_dotcom %} sessions.
* If you cannot perform 2FA to pass the 28th day checkup, you will be provided a shortcut that lets you reconfigure your 2FA settings. You must reconfigure your settings before you can access the rest of {% data variables.product.prodname_dotcom %}{% endif %}. For more information, see [AUTOTITLE](/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication#providing-a-2fa-code-when-signing-in-to-the-website){% ifversion 2fa-check-up-period %} and [AUTOTITLE](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication){% endif %}.
- * In addition to authentication with a TOTP application{% ifversion fpt or ghec %} or a text message{% endif %}, you can optionally add an alternative method of authentication with {% ifversion fpt or ghec %}{% data variables.product.prodname_mobile %} or{% endif %} a security key using WebAuthn. For more information, see {% ifversion fpt or ghec %}[AUTOTITLE](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication#configuring-two-factor-authentication-using-github-mobile) and {% endif %}[AUTOTITLE](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication#configuring-two-factor-authentication-using-a-security-key).
+ * In addition to authentication with a TOTP application{% ifversion fpt or ghec %} or a text message{% endif %}, you can optionally add an alternative method of authentication with {% ifversion fpt or ghec %}{% data variables.product.prodname_mobile %} or{% endif %} a security key using WebAuthn. See {% ifversion fpt or ghec %}[Configuring two-factor authentication using {% data variables.product.prodname_mobile %}](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication#configuring-two-factor-authentication-using-github-mobile) or {% endif %}[Configuring two-factor authentication using a security key](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication#configuring-two-factor-authentication-using-a-security-key).
{% ifversion fpt or ghec %}
diff --git a/content/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/telemetry-in-codeql-for-visual-studio-code.md b/content/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/telemetry-in-codeql-for-visual-studio-code.md
index 9dd459694a6f..cbbc3d4635d0 100644
--- a/content/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/telemetry-in-codeql-for-visual-studio-code.md
+++ b/content/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/telemetry-in-codeql-for-visual-studio-code.md
@@ -11,7 +11,7 @@ topics:
- CodeQL
type: reference
allowTitleToDifferFromFilename: true
-intro: 'If you specifically opt in to permit {% data variables.product.company_short %} to do so, {% data variables.product.company_short %} will collect usage data and metrics for the purposes of helping the core developers to improve the {% data variables.product.prodname_codeql %} extension for {% data variables.product.prodname_vscode_shortname %}.'
+intro: 'If {% data variables.product.prodname_vscode_shortname %} telemetry is enabled, {% data variables.product.company_short %} will collect usage data and metrics for the purposes of helping the core developers to improve the {% data variables.product.prodname_codeql %} extension for {% data variables.product.prodname_vscode_shortname %}.'
redirect_from:
- /code-security/codeql-for-vs-code/about-telemetry-in-codeql-for-visual-studio-code
---
@@ -19,7 +19,7 @@ redirect_from:
This data will not be shared with any parties outside of {% data variables.product.company_short %}. IP addresses and installation IDs will be retained for a maximum of 30 days. Anonymous data will be retained for a maximum of 180 days.
> [!NOTE]
-> Telemetry collection is disabled by default in {% data variables.product.prodname_codeql %} for {% data variables.product.prodname_vscode %}. When telemetry collection is disabled, no data will be sent to {% data variables.product.company_short %} servers.
+> Telemetry collection in {% data variables.product.prodname_codeql %} for {% data variables.product.prodname_vscode %} follows the {% data variables.product.prodname_vscode_shortname %} telemetry settings. When telemetry collection is disabled, no data will be sent to {% data variables.product.company_short %} servers.
## Why we collect data
@@ -27,7 +27,7 @@ This data will not be shared with any parties outside of {% data variables.produ
## What data is collected
-If you opt in, {% data variables.product.company_short %} collects the following information related to the usage of the extension. The data collected are:
+If telemetry is enabled, {% data variables.product.company_short %} collects the following information related to the usage of the extension. The data collected are:
* The identifiers of any {% data variables.product.prodname_codeql %}-related {% data variables.product.prodname_vscode_shortname %} commands that are run. For each command, these are: the timestamp, time taken, and whether or not the command completed successfully.
@@ -69,9 +69,7 @@ We only collect the minimal amount of data we need to answer the questions about
## Disabling telemetry reporting
-You can disable telemetry collection by setting `codeQL.telemetry.enableTelemetry` to `false` in your settings. For more information, see [AUTOTITLE](/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/customizing-settings).
-
-Additionally, telemetry collection will be disabled if the global `telemetry.telemetryLevel` setting is set to `off`. For more information about global telemetry collection, see [Visual Studio Code FAQ](https://code.visualstudio.com/docs/supporting/faq#_how-to-disable-telemetry-reporting) in the {% data variables.product.prodname_vscode %} documentation.
+You can disable telemetry collection by setting the global `telemetry.telemetryLevel` setting to `off`. For more information, see the [Visual Studio Code Telemetry page](https://code.visualstudio.com/docs/getstarted/telemetry) in the {% data variables.product.prodname_vscode %} documentation.
## Further reading
diff --git a/content/code-security/dependabot/working-with-dependabot/dependabot-options-reference.md b/content/code-security/dependabot/working-with-dependabot/dependabot-options-reference.md
index 854d068e81aa..2b31ed7892f7 100644
--- a/content/code-security/dependabot/working-with-dependabot/dependabot-options-reference.md
+++ b/content/code-security/dependabot/working-with-dependabot/dependabot-options-reference.md
@@ -267,7 +267,7 @@ When `ignore` is used {% data variables.product.prodname_dependabot %} uses the
|------------|---------|
| `dependency-name` | Ignore updates for dependencies with matching names, optionally using `*` to match zero or more characters. |
| `versions` | Ignore specific versions or ranges of versions. |
-| `update-types` | Ignore updates to one or more semantic versioning levels. Supported values: `sem-ver:minor`, `sem-ver:patch`, and `sem-ver:major`. |
+| `update-types` | Ignore updates to one or more semantic versioning levels. Supported values: `version-update:semver-minor`, `version-update:semver-patch`, and `version-update:semver-major`. |
### `dependency-name` (`ignore`)
diff --git a/content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-github.md b/content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-github.md
index b226acb324c5..c544aa66399e 100644
--- a/content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-github.md
+++ b/content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-github.md
@@ -17,15 +17,17 @@ Before you configure your {% data variables.product.prodname_copilot_agent_short
## Verifying that payloads are coming from {% data variables.product.github %}
-Before your {% data variables.product.prodname_copilot_agent_short %} begins processing a request, you should verify that the request came from {% data variables.product.github %}, and that it is intended for your agent. All agent requests contain the `Github-Public-Key-Identifier` and `Github-Public-Key-Signature` headers. To verify the signature for a particular request, compare the signature in the `Github-Public-Key-Signature` header with a signed copy of the request body using the current public key listed at https://api.github.com/meta/public_keys/copilot_api.
+Before your {% data variables.product.prodname_copilot_agent_short %} begins processing a request, you should verify that the request came from {% data variables.product.github %}, and that it is intended for your agent. All agent requests contain the `X-GitHub-Public-Key-Identifier` and `X-GitHub-Public-Key-Signature` headers. To verify the signature for a particular request, compare the signature in the `X-GitHub-Public-Key-Signature` header with a signed copy of the request body using the current public key listed at https://api.github.com/meta/public_keys/copilot_api.
For more details and examples of signature verification in specific languages, see the [`github-technology-partners/signature-verification`](https://github.com/github-technology-partners/signature-verification) repository.
+> ⚠️ **Note:** We currently send duplicate pairs of these headers. One set has the prefix `Github-Public-...`; the other has `X-GitHub-Public...`. The former will be {% data variables.release-phases.closing_down %} **by March 31st**. Please update your relevant checks to the correct prefix (`X-GitHub-Public...`) by then.
+
## Fetching resources from the {% data variables.product.github %} API
-Requests to your {% data variables.product.prodname_copilot_agent_short %} will receive an `X-Github-Token` header. This header contains an API token that can be used to fetch resources from the {% data variables.product.github %} API on behalf of the user interacting with your agent. The permissions of this token are the overlap of the user's own permissions and the permissions granted to your {% data variables.product.prodname_github_app %} installation.
+Requests to your {% data variables.product.prodname_copilot_agent_short %} will receive an `X-GitHub-Token` header. This header contains an API token that can be used to fetch resources from the {% data variables.product.github %} API on behalf of the user interacting with your agent. The permissions of this token are the overlap of the user's own permissions and the permissions granted to your {% data variables.product.prodname_github_app %} installation.
-For an example of how you might use `X-Github-Token`, see the following code sample:
+For an example of how you might use `X-GitHub-Token`, see the following code sample:
```typescript
async function whoami(req) {
diff --git a/content/copilot/building-copilot-extensions/building-a-copilot-skillset-for-your-copilot-extension/building-copilot-skillsets.md b/content/copilot/building-copilot-extensions/building-a-copilot-skillset-for-your-copilot-extension/building-copilot-skillsets.md
index 097b74fc2677..fc9035ed9e15 100644
--- a/content/copilot/building-copilot-extensions/building-a-copilot-skillset-for-your-copilot-extension/building-copilot-skillsets.md
+++ b/content/copilot/building-copilot-extensions/building-a-copilot-skillset-for-your-copilot-extension/building-copilot-skillsets.md
@@ -5,7 +5,7 @@ versions:
feature: copilot-extensions
topics:
- Copilot
-shortTitle: Build {% data variables.product.prodname_copilot_skillsets_short %}
+shortTitle: Build {% data variables.product.prodname_copilot_skillsets_short %}
type: how_to
---
@@ -25,7 +25,7 @@ Before you begin, make sure you have the following:
* Be able to verify the signature of requests from {% data variables.product.github %} to authenticate their origin and prevent unauthorized access
* Be publicly accessible via HTTPS
-For more information about signature verification, see [Verifying that payloads are coming from Github](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-github#verifying-that-payloads-are-coming-from-github).
+For more information about signature verification, see [Verifying that payloads are coming from {% data variables.product.github %}](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-github#verifying-that-payloads-are-coming-from-github).
## Configuration requirements
diff --git a/content/copilot/index.md b/content/copilot/index.md
index 02a950857d96..af2527d18645 100644
--- a/content/copilot/index.md
+++ b/content/copilot/index.md
@@ -30,6 +30,7 @@ children:
- /using-github-copilot
- /example-prompts-for-github-copilot-chat
- /managing-copilot
+ - /rolling-out-github-copilot-at-scale
- /customizing-copilot
- /building-copilot-extensions
- /troubleshooting-github-copilot
diff --git a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/index.md b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/index.md
index cb4aaf7bfb49..319f8b7e59e8 100644
--- a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/index.md
+++ b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/index.md
@@ -9,5 +9,4 @@ topics:
children:
- /reviewing-user-activity-data-for-copilot-in-your-organization
- /reviewing-audit-logs-for-copilot-business
- - /analyzing-usage-over-time-with-the-copilot-metrics-api
---
diff --git a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/analyzing-usage-over-time-with-the-copilot-metrics-api.md b/content/copilot/rolling-out-github-copilot-at-scale/analyzing-usage-over-time-with-the-copilot-metrics-api.md
similarity index 98%
rename from content/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/analyzing-usage-over-time-with-the-copilot-metrics-api.md
rename to content/copilot/rolling-out-github-copilot-at-scale/analyzing-usage-over-time-with-the-copilot-metrics-api.md
index d9cbf05e1bea..fc1a7e7cfb6b 100644
--- a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/analyzing-usage-over-time-with-the-copilot-metrics-api.md
+++ b/content/copilot/rolling-out-github-copilot-at-scale/analyzing-usage-over-time-with-the-copilot-metrics-api.md
@@ -5,6 +5,8 @@ intro: 'Learn how to connect to the API, store data, and analyze usage trends.'
versions:
feature: copilot
product: '{% data variables.product.prodname_copilot_for_business %} or {% data variables.product.prodname_copilot_enterprise %}'
+redirect_from:
+ - /copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/analyzing-usage-over-time-with-the-copilot-metrics-api
permissions: 'Organization owners, enterprise owners, and billing managers'
layout: inline
topics:
diff --git a/content/copilot/rolling-out-github-copilot-at-scale/driving-copilot-adoption-in-your-company.md b/content/copilot/rolling-out-github-copilot-at-scale/driving-copilot-adoption-in-your-company.md
new file mode 100644
index 000000000000..7a0093269063
--- /dev/null
+++ b/content/copilot/rolling-out-github-copilot-at-scale/driving-copilot-adoption-in-your-company.md
@@ -0,0 +1,90 @@
+---
+title: Driving Copilot adoption in your company
+shortTitle: Drive Copilot adoption
+intro: 'Learn how to plan an effective enablement process to drive Copilot adoption.'
+versions:
+ feature: copilot
+topics:
+ - Copilot
+---
+
+An effective enablement process is essential to drive adoption of {% data variables.product.prodname_copilot_short %} in your organization. This process should be tailored to your organization's needs and goals, and should be designed to help your teams understand how to use {% data variables.product.prodname_copilot_short %} effectively.
+
+Your enablement process may evolve based on feedback and results. You should regularly review and update the process to ensure it continues to meet your organization's needs.
+
+The {% data variables.product.prodname_copilot %} enablement process can be broken down into the following stages:
+
+* Granting licenses
+* Supporting users setting up their environment
+* Supporting effective use of {% data variables.product.prodname_copilot_short %}
+
+## Prerequisites
+
+* {% data variables.product.prodname_copilot %} must be set up in your {% ifversion ghec %}enterprise and {% endif %}organization. For more information, see {% ifversion ghec %}[AUTOTITLE](/copilot/setting-up-github-copilot/setting-up-github-copilot-for-your-enterprise) and {% endif %}[AUTOTITLE](/copilot/setting-up-github-copilot/setting-up-github-copilot-for-your-organization).
+
+## Granting licenses
+
+Before you can drive adoption of {% data variables.product.prodname_copilot %}, you need to ensure that your teams have access to the product. For more information, see [AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/granting-access-to-copilot-for-members-of-your-organization).
+
+Depending on the size of your organization, you may want to start with a small pilot program. This will allow you to test your enablement process and make any necessary adjustments before rolling it out to the rest of your organization.
+
+You can start by identifying a small number of teams that are interested in using {% data variables.product.prodname_copilot_short %}. You can then work with these teams to help them get started with {% data variables.product.prodname_copilot_short %}.
+
+## Supporting users setting up their environment
+
+Once your teams have access to {% data variables.product.prodname_copilot %}, ensure they're confident with setting up their environment. {% data variables.product.github %} provides comprehensive documentation to help users set up their environment and resolve common issues. See [AUTOTITLE](/copilot/setting-up-github-copilot/setting-up-github-copilot-for-yourself) and [AUTOTITLE](/copilot/troubleshooting-github-copilot).
+
+If your company uses a corporate proxy or firewall, there are additional steps for ensuring users can connect to {% data variables.product.prodname_copilot %}:
+
+* Ensure that key URLs are added to the allowlist for the proxy server or firewall. See [AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/configuring-your-proxy-server-or-firewall-for-copilot).
+* Provide guidance for your users to set up their environment to connect via your proxy. You may also need to install custom SSL certificates on your users' machines. See [AUTOTITLE](/copilot/managing-copilot/configure-personal-settings/configuring-network-settings-for-github-copilot).
+
+For more complex issues, you may also choose to designate an internal point of contact to help users resolve issues, or escalate them to {% data variables.contact.github_support %}. You should choose a point of contact who is confident troubleshooting firewall and network configuration issues.
+
+## Supporting effective use of {% data variables.product.prodname_copilot_short %} in your organization
+
+This section offers examples of how you can support effective use of {% data variables.product.prodname_copilot_short %}. You can use these examples as a starting point and adapt them to meet your organization's needs and goals.
+
+### Creating onboarding resources
+
+You may choose to create internal onboarding materials to help teams get started with {% data variables.product.prodname_copilot_short %}. These materials could include your organization's policies and guidelines for using {% data variables.product.prodname_copilot_short %}, {% data variables.product.github %} documentation, relevant {% data variables.product.github %} blog posts, and any other resources that you think will be helpful.
+
+{% data variables.product.github %} documentation that you may want to feature in your onboarding materials includes:
+
+* [AUTOTITLE](/copilot/using-github-copilot/best-practices-for-using-github-copilot)
+* [AUTOTITLE](/copilot/using-github-copilot/prompt-engineering-for-github-copilot)
+* [AUTOTITLE](/copilot/using-github-copilot/getting-code-suggestions-in-your-ide-with-github-copilot)
+* [AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-your-ide)
+
+You can also create a {% data variables.product.github %} repository to store these materials, and encourage teams to contribute their own resources and best practices. This can help foster a sense of community among teams that are using {% data variables.product.prodname_copilot_short %}, and make it easier for new teams to get started.
+
+### Working with your pilot program
+
+Once the users in your pilot program have used your onboarding resources, you will have an initial opportunity for feedback, to see whether there are any sticking points that should be resolved before rolling out {% data variables.product.prodname_copilot_short %} on a larger scale.
+
+One way to gather feedback is with a survey. You can use the {% data variables.product.prodname_copilot_short %} survey engine to create an app that will trigger a survey at specific points in the {% data variables.product.prodname_copilot_short %} experience. See the [{% data variables.product.prodname_copilot_short %} survey engine](https://github.com/github/copilot-survey-engine).
+
+### Offering training and support
+
+From your pilot program, you can identify a group of {% data variables.product.prodname_copilot_short %} champions who are enthusiastic about using {% data variables.product.prodname_copilot_short %} and are willing to help others get started. You can work with these champions to create training sessions, workshops, and other resources to help teams get started with {% data variables.product.prodname_copilot_short %}.
+
+You can also use {% data variables.product.prodname_discussions %} to create a space where teams can ask questions, share best practices, and learn from each other. This can help foster a sense of community among teams that are using {% data variables.product.prodname_copilot_short %}, and make it easier for new teams to get started.
+
+{% data variables.product.github %} also provides a dedicated {% data variables.product.prodname_copilot_short %} Workshops repository, which contains a selection of workshops designed to help teams learn how to use {% data variables.product.prodname_copilot_short %} effectively. See [Copilot Workshops](https://github.com/copilot-workshops).
+
+### Providing learning resources
+
+In addition to your onboarding resources, you may want to provide a library of learning resources to help teams advance their skills with {% data variables.product.prodname_copilot_short %}. The {% data variables.product.prodname_copilot_chat_short %} Cookbook is a great place to start. The Cookbook is a collection of example prompts that you can use to learn how to ask {% data variables.product.prodname_copilot_short %} for help with a wide range of tasks. See [AUTOTITLE](/copilot/example-prompts-for-github-copilot-chat).
+
+### Communicating expectations
+
+If your organization has specific {% data variables.product.prodname_copilot_short %} usage guidelines, these should be clearly communicated in onboarding materials and anywhere else that teams might look for information. For example, if you plan to revoke access to {% data variables.product.prodname_copilot_short %} for users who have not used it in a certain period of time, ensure that your users are aware of this policy.
+
+### Ongoing analysis and optimization
+
+Once you have implemented your {% data variables.product.prodname_copilot_short %} enablement process, you should regularly review and optimize it to ensure it continues to meet your organization's needs. Some ways you can do this are:
+
+* Monitoring usage data to identify trends and patterns. See [AUTOTITLE](/copilot/rolling-out-github-copilot-at-scale/analyzing-usage-over-time-with-the-copilot-metrics-api).
+* Following up with users who haven't been using their assigned license. You can use the API to see the latest activity date for each assigned seat. See [AUTOTITLE](/rest/copilot/copilot-user-management#list-all-copilot-seat-assignments-for-an-organization).
+* Gathering feedback from teams to understand what is working well and what could be improved
+* Reviewing {% data variables.product.prodname_discussions %} and other communication channels to identify common issues and questions
diff --git a/content/copilot/rolling-out-github-copilot-at-scale/index.md b/content/copilot/rolling-out-github-copilot-at-scale/index.md
new file mode 100644
index 000000000000..c00a2a386dbb
--- /dev/null
+++ b/content/copilot/rolling-out-github-copilot-at-scale/index.md
@@ -0,0 +1,12 @@
+---
+title: Rolling out GitHub Copilot at scale
+shortTitle: Roll out Copilot at scale
+intro: 'Learn how to manage a Copilot rollout in your organization or enterprise.'
+versions:
+ feature: copilot
+topics:
+ - Copilot
+children:
+ - /driving-copilot-adoption-in-your-company
+ - /analyzing-usage-over-time-with-the-copilot-metrics-api
+---
diff --git a/content/copilot/setting-up-github-copilot/setting-up-github-copilot-for-your-enterprise.md b/content/copilot/setting-up-github-copilot/setting-up-github-copilot-for-your-enterprise.md
index f6d4545ac627..dacb7c244e3a 100644
--- a/content/copilot/setting-up-github-copilot/setting-up-github-copilot-for-your-enterprise.md
+++ b/content/copilot/setting-up-github-copilot/setting-up-github-copilot-for-your-enterprise.md
@@ -34,8 +34,6 @@ Enable {% data variables.product.prodname_copilot_short %} for some or all organ
If your enterprise is on {% data variables.enterprise.data_residency_site %}, users must perform some additional setup to authenticate to their account from their development environment. See [AUTOTITLE](/copilot/managing-copilot/configure-personal-settings/using-github-copilot-with-an-account-on-ghecom).
-## 5. Share onboarding material
+## 5. Drive {% data variables.product.prodname_copilot_short %} adoption
-* **Share onboarding material:** Share onboarding material with each organization that you granted {% data variables.product.prodname_copilot_short %} access to. See [AUTOTITLE](/copilot/setting-up-github-copilot/setting-up-github-copilot-for-your-organization).
-* **Encourage adoption:** Encouragement from leadership can help drive adoption of {% data variables.product.prodname_copilot_short %} in your enterprise. Consider messaging your support of {% data variables.product.prodname_copilot_short %} and how it can help your enterprise.
-* **Set up training sessions or workshops:** Training sessions or workshops can help members learn how to use {% data variables.product.prodname_copilot_short %} effectively.
+Planning and implementing an effective enablement process is essential to drive adoption of {% data variables.product.prodname_copilot_short %} in your enterprise. See [AUTOTITLE](/copilot/rolling-out-github-copilot-at-scale/driving-copilot-adoption-in-your-company).
diff --git a/content/copilot/setting-up-github-copilot/setting-up-github-copilot-for-your-organization.md b/content/copilot/setting-up-github-copilot/setting-up-github-copilot-for-your-organization.md
index 0cf641815700..3c304b2552ee 100644
--- a/content/copilot/setting-up-github-copilot/setting-up-github-copilot-for-your-organization.md
+++ b/content/copilot/setting-up-github-copilot/setting-up-github-copilot-for-your-organization.md
@@ -41,11 +41,9 @@ Alternatively, you can set up a self-serve workflow using the API. See [Add team
If your organization is part of an enterprise on {% data variables.enterprise.data_residency_site %}, users must perform some additional setup to authenticate to their account from their development environment. See [AUTOTITLE](/copilot/managing-copilot/configure-personal-settings/using-github-copilot-with-an-account-on-ghecom).
-## 5. Share onboarding material
+## 5. Drive {% data variables.product.prodname_copilot_short %} adoption
-* **Share onboarding material:** Share onboarding material with each member that you granted {% data variables.product.prodname_copilot_short %} access to. See [AUTOTITLE](/copilot/setting-up-github-copilot/setting-up-github-copilot-for-yourself) and [AUTOTITLE](/copilot/using-github-copilot/best-practices-for-using-github-copilot).
-* **Encourage adoption:** Encouragement from leadership can help drive adoption of {% data variables.product.prodname_copilot_short %} in your organization. Consider messaging your support of {% data variables.product.prodname_copilot_short %} and how it can help your organization.
-* **Set up training sessions or workshops:** Training sessions or workshops can help members learn how to use {% data variables.product.prodname_copilot_short %} effectively.
+Planning and implementing an effective enablement process is essential to drive adoption of {% data variables.product.prodname_copilot_short %} in your organization. See [AUTOTITLE](/copilot/rolling-out-github-copilot-at-scale/driving-copilot-adoption-in-your-company).
## 6. Enhance the {% data variables.product.prodname_copilot_short %} experience
@@ -54,13 +52,3 @@ Enhance the {% data variables.product.prodname_copilot_short %} experience for y
* **Setting up knowledge bases** for use with {% data variables.product.prodname_copilot_chat_short %} _({% data variables.product.prodname_copilot_enterprise_short %} only)_. See [AUTOTITLE](/enterprise-cloud@latest/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-github-copilot-features-in-your-organization/managing-copilot-knowledge-bases).
* **Fine tuning {% data variables.product.prodname_copilot_short %}** by creating a custom large language model. See [AUTOTITLE](/copilot/customizing-copilot/creating-a-custom-model-for-github-copilot).
* **Installing {% data variables.product.prodname_copilot_extensions_short %}** to integrate other tools with {% data variables.product.prodname_copilot_chat_short %}. See [AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-github-copilot-features-in-your-organization/installing-github-copilot-extensions-for-your-organization).
-
-## 7. Drive adoption
-
-To help your organization get the most out of {% data variables.product.prodname_copilot_short %}, reach out to users who have not used {% data variables.product.prodname_copilot_short %} recently. (You can use the API to identify users who have not used {% data variables.product.prodname_copilot_short %} recently.) To help those users, consider:
-
-* Sharing resources to help them get started, such as [AUTOTITLE](/copilot/setting-up-github-copilot/setting-up-github-copilot-for-yourself), [AUTOTITLE](/copilot/using-github-copilot/best-practices-for-using-github-copilot), and [AUTOTITLE](/copilot/using-github-copilot/prompt-engineering-for-github-copilot)
-* Learning about their barriers to using {% data variables.product.prodname_copilot_short %}
-* Addressing any concerns they have about using {% data variables.product.prodname_copilot_short %}
-* Giving them ideas for how to incorporate {% data variables.product.prodname_copilot_short %} into their work
-* Pairing them with a mentor who can help them understand how to take advantage of {% data variables.product.prodname_copilot_short %}
diff --git a/content/copilot/using-github-copilot/using-claude-sonnet-in-github-copilot.md b/content/copilot/using-github-copilot/using-claude-sonnet-in-github-copilot.md
index 231ca6bf6dd9..0ee52bf715db 100644
--- a/content/copilot/using-github-copilot/using-claude-sonnet-in-github-copilot.md
+++ b/content/copilot/using-github-copilot/using-claude-sonnet-in-github-copilot.md
@@ -53,3 +53,7 @@ For details of how to change the model for {% data variables.product.prodname_co
* [AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#changing-your-ai-model)
* [AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-your-ide#changing-your-ai-model)
+
+## Leaving feedback
+
+To leave feedback about Claude 3.5 Sonnet in {% data variables.product.prodname_copilot %}, or to ask a question, see the {% data variables.product.prodname_github_community %} discussion "[Claude 3.5 Sonnet is now available to all {% data variables.product.prodname_copilot_short %} users in Public Preview](https://github.com/orgs/community/discussions/143337)."
diff --git a/content/get-started/writing-on-github/editing-and-sharing-content-with-gists/index.md b/content/get-started/writing-on-github/editing-and-sharing-content-with-gists/index.md
index 6ae903404090..248b788a8cab 100644
--- a/content/get-started/writing-on-github/editing-and-sharing-content-with-gists/index.md
+++ b/content/get-started/writing-on-github/editing-and-sharing-content-with-gists/index.md
@@ -14,5 +14,6 @@ children:
- /creating-gists
- /forking-and-cloning-gists
- /saving-gists-with-stars
+ - /moderating-gist-comments
shortTitle: Share content with gists
---
diff --git a/content/get-started/writing-on-github/editing-and-sharing-content-with-gists/moderating-gist-comments.md b/content/get-started/writing-on-github/editing-and-sharing-content-with-gists/moderating-gist-comments.md
new file mode 100644
index 000000000000..1e2a3df5c860
--- /dev/null
+++ b/content/get-started/writing-on-github/editing-and-sharing-content-with-gists/moderating-gist-comments.md
@@ -0,0 +1,24 @@
+---
+title: Moderating gist comments
+intro: 'You can moderate comments on gists by turning them off or deleting unwanted entries.'
+versions:
+ fpt: '*'
+ ghes: '>=3.17'
+ ghec: '*'
+---
+## Disabling comments
+
+You can hide existing comments and prevent new comments from being added to a gist by disabling comments for the gist. You can re-enable comments at any time. This will make existing comments visible.
+
+1. Navigate to {% data variables.gists.gist_user %} and select the gist you want to moderate.
+1. In the top right corner, select **{% octicon "pencil" aria-hidden="true" %} Edit**.
+1. In the top right corner, select **{% octicon "comment" aria-hidden="true" %} Disable comments**.
+
+## Deleting comments
+
+You can delete a comment on a gist if you are the author of the gist or the author of the comment.
+
+1. Navigate to {% data variables.gists.gist_user %} and select the gist you want to moderate.
+1. On the upper-right corner of the comment box, select **{% octicon "kebab-horizontal" aria-label="Open dropdown menu" %}**.
+1. From the dropdown menu select **Delete**.
+1. Select **OK** to confirm.
diff --git a/content/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax.md b/content/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax.md
index ab9e23aa22e7..fd9b73681670 100644
--- a/content/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax.md
+++ b/content/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax.md
@@ -265,15 +265,9 @@ Here are some examples for using relative links to display an image.
For more information, see [Relative Links](#relative-links).
-### Specifying the theme an image is shown to
+### The Picture element
-You can specify the theme an image is displayed for in Markdown by using the HTML `