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/delete-orphan-translation-files.yml b/.github/workflows/delete-orphan-translation-files.yml
index da1e7cec5edb..350f9992cff6 100644
--- a/.github/workflows/delete-orphan-translation-files.yml
+++ b/.github/workflows/delete-orphan-translation-files.yml
@@ -129,7 +129,8 @@ jobs:
--title "Delete orphan files ($current_daystamp)" \
--body '👋 humans. This PR was generated from docs-internal/.github/workflows/delete-orphan-translation-files.yml.
' \
- --repo "${{ matrix.language_repo }}"
+ --repo "${{ matrix.language_repo }}" \
+ --head=$branch_name
echo "Merge created PR..."
retry_command gh pr merge --merge --auto --delete-branch "$branch_name"
diff --git a/.github/workflows/generate-code-scanning-query-lists.yml b/.github/workflows/generate-code-scanning-query-lists.yml
index 505550449ffc..7fcbc2bc31c9 100644
--- a/.github/workflows/generate-code-scanning-query-lists.yml
+++ b/.github/workflows/generate-code-scanning-query-lists.yml
@@ -146,7 +146,7 @@ jobs:
git add data/reusables/code-scanning/codeql-query-tables
git commit -m "Update CodeQL query tables"
- git push origin $branchname
+ git push -u origin $branchname
echo "Creating pull request..."
gh pr create \
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/.github/workflows/sync-audit-logs.yml b/.github/workflows/sync-audit-logs.yml
index f0226617d16b..8ae0705622e7 100644
--- a/.github/workflows/sync-audit-logs.yml
+++ b/.github/workflows/sync-audit-logs.yml
@@ -33,7 +33,7 @@ jobs:
# need to use a token from a user with access to github/audit-log-allowlists for this step
GITHUB_TOKEN: ${{ secrets.DOCS_BOT_PAT_WRITEORG_PROJECT }}
run: |
- npm run audit-log-sync
+ npm run sync-audit-log
- name: Get the audit-log-allowlists SHA being synced
id: audit-log-allowlists
@@ -54,7 +54,11 @@ jobs:
# If nothing to commit, exit now. It's fine. No orphans.
changes=$(git diff --name-only | wc -l)
untracked=$(git status --untracked-files --short | wc -l)
- if [[ $changes -eq 0 ]] && [[ $untracked -eq 0 ]]; then
+ filesChanged=$(git diff --name-only)
+ # There will always be at least one file changed:
+ # src/audit-logs/lib/config.json
+ # If the config file is the only file changed, exit.
+ if [[ $changes -eq 1 ]] && [[ $untracked -eq 1 ]] && [[ $filesChanged == *lib/config.json ]]; then
echo "There are no changes to commit or untracked files. Exiting..."
exit 0
fi
@@ -83,7 +87,8 @@ jobs:
If CI does not pass or other problems arise, contact #docs-engineering on slack.' \
--repo github/docs-internal \
- --label audit-log-pipeline
+ --label audit-log-pipeline \
+ --head=$branchname
# can't approve your own PR, approve with Actions
unset GITHUB_TOKEN
@@ -93,7 +98,7 @@ jobs:
# Actions can't merge the PR so back to docs-bot to merge the PR
unset GITHUB_TOKEN
gh auth login --with-token <<< "${{ secrets.DOCS_BOT_PAT_WORKFLOW_READORG }}"
- gh pr merge --auto --delete-branch
+ gh pr merge --auto
- uses: ./.github/actions/slack-alert
if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
diff --git a/.github/workflows/sync-codeql-cli.yml b/.github/workflows/sync-codeql-cli.yml
index e42d6207406c..e9698bb7ae3a 100644
--- a/.github/workflows/sync-codeql-cli.yml
+++ b/.github/workflows/sync-codeql-cli.yml
@@ -91,13 +91,13 @@ jobs:
branchname=codeql-cli-update-${{ steps.semmle-code.outputs.OPENAPI_COMMIT_SHA }}
branchCheckout=$(git checkout -b $branchname)
- if [[! $? -eq 0 ]]; then
+ if [[ ! $? -eq 0 ]]; then
echo "Branch $branchname already exists in `github/docs-internal`. Exiting..."
exit 0
fi
git add .
git commit -m "Update CodeQL CLI data"
- git push origin $branchname
+ git push -u origin $branchname
echo "Creating pull request..."
gh pr create \
@@ -109,3 +109,9 @@ jobs:
If CI does not pass or other problems arise, contact #docs-engineering on slack.' \
--repo github/docs-internal \
--label "codeql-cli-pipeline,skip FR board,ready-for-doc-review"
+
+ - uses: ./.github/actions/slack-alert
+ if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
+ with:
+ slack_channel_id: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }}
+ slack_token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
diff --git a/.github/workflows/sync-graphql.yml b/.github/workflows/sync-graphql.yml
index c8acb219c641..b0d964b8d03d 100644
--- a/.github/workflows/sync-graphql.yml
+++ b/.github/workflows/sync-graphql.yml
@@ -1,4 +1,4 @@
-name: Update GraphQL files
+name: Sync GraphQL schema
# **What it does**: This updates our GraphQL schemas.
# **Why we have it**: We want our GraphQL docs up to date.
@@ -25,7 +25,7 @@ jobs:
env:
# need to use a token from a user with access to github/github for this step
GITHUB_TOKEN: ${{ secrets.DOCS_BOT_PAT_WRITEORG_PROJECT }}
- run: npm run graphql-sync
+ run: npm run sync-graphql
- name: Create pull request
id: create-pull-request
uses: peter-evans/create-pull-request@6cd32fd93684475c31847837f87bb135d40a2b79 # pin @v7.0.3
diff --git a/.github/workflows/sync-openapi.yml b/.github/workflows/sync-openapi.yml
index 7e28c4294484..339fb7eac14e 100644
--- a/.github/workflows/sync-openapi.yml
+++ b/.github/workflows/sync-openapi.yml
@@ -101,7 +101,8 @@ jobs:
If CI does not pass or other problems arise, contact #docs-engineering on slack.' \
--repo github/docs-internal \
- --label github-openapi-bot
+ --label github-openapi-bot \
+ --head=$branchname \
- uses: ./.github/actions/slack-alert
if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
diff --git a/.github/workflows/sync-secret-scanning.yml b/.github/workflows/sync-secret-scanning.yml
index 8a1ef68e338a..9d90f9b9606a 100644
--- a/.github/workflows/sync-secret-scanning.yml
+++ b/.github/workflows/sync-secret-scanning.yml
@@ -76,7 +76,8 @@ jobs:
If CI does not pass or other problems arise, contact #docs-engineering on Slack.' \
--repo github/docs-internal \
- --label secret-scanning-pipeline,'skip FR board',ready-for-doc-review
+ --label secret-scanning-pipeline,'skip FR board',ready-for-doc-review \
+ --head=$branchname
- uses: ./.github/actions/slack-alert
if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
diff --git a/.github/workflows/sync-staging-repo-files.yml b/.github/workflows/sync-staging-repo-files.yml
new file mode 100644
index 000000000000..736d8cf07b3c
--- /dev/null
+++ b/.github/workflows/sync-staging-repo-files.yml
@@ -0,0 +1,194 @@
+# **What it does**: Synchronizes each of the github/docs-staging-X repositories with the latest build scripts, workflows, and other files from src/deployments/staging.
+# **Why we have it**: We want to centralize build config in src/deployments/staging for use across multiple repos.
+# **Who does it impact**: Docs engineering, and potentially content writers.
+
+name: Sync Staging Repo Files
+
+on:
+ workflow_dispatch:
+ push:
+ branches: [main]
+ paths:
+ - 'src/deployments/staging/build-scripts/*.sh'
+ - 'src/deployments/staging/.github/**'
+ - 'src/deployments/staging/Dockerfile'
+ - 'src/deployments/staging/.env.example'
+ - 'src/deployments/staging/README.staging.md'
+ - 'src/deployments/staging/ownership.yaml'
+ - 'src/deployments/staging/config/**'
+
+permissions:
+ contents: write
+
+jobs:
+ # Determine how many staging repos we have and generate a matrix with repo and index
+ generate-matrix:
+ if: github.repository == 'github/docs-internal'
+ runs-on: ubuntu-latest
+ outputs:
+ matrix: ${{ steps.set-matrix.outputs.matrix }}
+ steps:
+ - name: Checkout source repository
+ uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ with:
+ fetch-depth: 1 # Only need latest commit for config.json
+
+ - name: Read configuration
+ id: read-config
+ run: |
+ sudo apt-get update && sudo apt-get install -y jq
+ NUMBER_OF_REPOS=$(jq '.number_of_staging_repos' src/deployments/staging/config.json)
+ if ! [[ "$NUMBER_OF_REPOS" =~ ^[0-9]+$ ]]; then
+ echo "Invalid number_of_staging_repos in config.json: $NUMBER_OF_REPOS"
+ exit 1
+ fi
+ echo "number_of_repos=$NUMBER_OF_REPOS" >> $GITHUB_OUTPUT
+
+ - name: Generate repository list with indices
+ id: generate-repos
+ run: |
+ NUMBER_OF_REPOS=${{ steps.read-config.outputs.number_of_repos }}
+ # Since we use 0-based index e.g. docs-staging-0, we need to subtract 1
+ END=$((NUMBER_OF_REPOS - 1))
+ repos=()
+ for i in $(seq 0 $END); do
+ repos+=("{\"repo\": \"github/docs-staging-$i\", \"index\": $i}")
+ done
+ json_repos=$(printf '%s\n' "${repos[@]}" | jq -s -c .)
+ echo "repos=$json_repos" >> $GITHUB_OUTPUT
+
+ - name: Set matrix
+ id: set-matrix
+ run: |
+ echo "matrix={\"include\": $REPOS}" >> $GITHUB_OUTPUT
+ env:
+ REPOS: ${{ steps.generate-repos.outputs.repos }}
+
+ - uses: ./.github/actions/slack-alert
+ if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
+ with:
+ slack_channel_id: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }}
+ slack_token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
+
+ sync:
+ if: github.repository == 'github/docs-internal'
+ needs: generate-matrix
+ runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ matrix: ${{ fromJson(needs.generate-matrix.outputs.matrix) }}
+ steps:
+ - name: Checkout source repository
+ uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ with:
+ # Only need latest commits to sync with
+ fetch-depth: 2
+
+ - name: Checkout target repository
+ uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ with:
+ repository: ${{ matrix.repo }}
+ token: ${{ secrets.DOCS_BOT_PAT_WORKFLOW }}
+ path: target_repo
+ fetch-depth: 2
+
+ - name: Synchronize files to target repo
+ env:
+ INDEX: ${{ matrix.index }}
+ run: |
+ # Create necessary directories if they DNE
+ mkdir -p target_repo/build-scripts
+ mkdir -p target_repo/.github/workflows
+ mkdir -p target_repo/config
+
+ # Copy build scripts
+ cp src/deployments/staging/build-scripts/*.sh target_repo/build-scripts/ || true
+
+ # Copy .github directory
+ cp -r src/deployments/staging/.github target_repo/
+
+ # Copy config files
+ cp -r src/deployments/staging/config/* target_repo/config/ || true
+
+ # Overwrite Dockerfile
+ cp src/deployments/staging/Dockerfile target_repo/Dockerfile
+
+ # Conditional copy for .env if not present
+ if [ ! -f target_repo/.env ]; then
+ cp src/deployments/staging/.env.example target_repo/.env
+ fi
+
+ # Only copy README.md for non-review servers e.g. index >= 2
+ if [ "$INDEX" -ge 2 ]; then
+ cp src/deployments/staging/README.staging.md target_repo/README.md
+ fi
+
+ # Copy ownership.yaml
+ cp src/deployments/staging/ownership.yaml target_repo/ownership.yaml
+
+ - name: Install jq
+ run: sudo apt-get update && sudo apt-get install -y jq
+
+ - name: Replace template variables
+ run: |
+ # Determine which values to use based on the index
+ INDEX=${{ matrix.index }}
+
+ if [ "$INDEX" -eq 0 ]; then
+ DOMAIN=$(jq -r '.server_domain_name.internal' src/deployments/staging/config.json)
+ LOADBALANCER=$(jq -r '.load_balancer_type.internal' src/deployments/staging/config.json)
+ elif [ "$INDEX" -eq 1 ]; then
+ DOMAIN=$(jq -r '.server_domain_name.external' src/deployments/staging/config.json)
+ LOADBALANCER=$(jq -r '.load_balancer_type.external' src/deployments/staging/config.json)
+ else
+ DOMAIN=$(jq -r '.server_domain_name["docs-staging-x"]' src/deployments/staging/config.json)
+ LOADBALANCER=$(jq -r '.load_balancer_type.["docs-staging-x"]' src/deployments/staging/config.json)
+
+ # Replace {{x}} in the domain variable with the current index
+ DOMAIN=$(echo "$DOMAIN" | sed "s/{{x}}/$INDEX/g")
+ fi
+
+ # Perform replacements in target_repo files
+ # Replace the server_domain_name and load_balancer_type
+ find target_repo -type f -exec sed -i "s|{{server_domain_name}}|$DOMAIN|g" {} +
+ find target_repo -type f -exec sed -i "s|{{load_balancer_type}}|$LOADBALANCER|g" {} +
+
+ # If any files still contain {{x}}, replace them with the current index
+ find target_repo -type f -exec sed -i "s/{{x}}/$INDEX/g" {} +
+
+ - name: Commit Changes to new branch
+ id: commit_changes
+ run: |
+ BRANCH_NAME=sync-staging-files-${{ github.run_id }}
+ cd target_repo
+ git config user.name "github-actions[bot]"
+ git config user.email "github-actions[bot]@users.noreply.github.com"
+ git checkout -b $BRANCH_NAME
+ git add .
+ if ! git diff --cached --quiet; then
+ git commit -m "Synchronize files from source repository with docs-staging-${{ matrix.index }}"
+ git push origin $BRANCH_NAME
+ fi
+ echo "BRANCH_NAME=${BRANCH_NAME}" >> $GITHUB_OUTPUT
+
+ # We want to create a PR instead of committing directly in order to trigger a deployment
+ - name: Create Pull Request
+ id: create_pr
+ env:
+ GH_TOKEN: ${{ secrets.DOCS_BOT_PAT_READPUBLICKEY }}
+ run: |
+ cd target_repo
+ PR_URL=$(gh pr create \
+ --title "Sync files from docs-internal" \
+ --body "This PR synchronized the files of this repo with the source of truth files in doc-internal. The PR should automatically merge, if it doesn't please fix files in docs-internal so that the fix is applied to every docs-staging-x repo." \
+ --base main \
+ --head ${{ steps.commit_changes.outputs.BRANCH_NAME }} \
+ )
+ # Enable auto-merge on PR
+ gh pr merge $PR_URL --auto --squash
+
+ - uses: ./.github/actions/slack-alert
+ if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
+ with:
+ slack_channel_id: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }}
+ slack_token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
diff --git a/.github/workflows/update-docs-staging-x-repo.yml b/.github/workflows/update-docs-staging-x-repo.yml
new file mode 100644
index 000000000000..352560d94e2d
--- /dev/null
+++ b/.github/workflows/update-docs-staging-x-repo.yml
@@ -0,0 +1,126 @@
+# **What it does**: Triggers a repo disaptch event when pushing to a `docs-staging-x` branch
+# or when a PR is labeled with `docs-staging-x`. The repo dispatch updates the corresponding
+# docs-staging-x repo with the latest commit SHA, which triggers a deployment.
+#
+# Note: This does not work for docs-staging-{0/1} (review servers) updates to those are
+# handled in the `update-review-servers-on-code-push.yml` workflow.
+#
+# **Why we have it**: Makes staging deployments easy
+# **Who does it impact**: Anyone trying to deploy a staging branch, both Docs Content and Docs Engineering
+
+name: Update docs-staging-x
+
+on:
+ push:
+ branches:
+ - 'docs-staging-[0-9]*'
+ pull_request:
+ types: [labeled]
+
+permissions:
+ contents: write
+
+jobs:
+ dispatch-sha:
+ if: github.repository == 'github/docs-internal'
+ runs-on: ubuntu-latest
+
+ steps:
+ # Needed because we call a composite action (Slack alert)
+ - name: Checkout source repository
+ uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ with:
+ fetch-depth: 1 # Only need latest commit
+
+ - name: Determine target staging repo
+ id: determine_repo
+ run: |
+ # Determine the event type
+ EVENT_TYPE="${{ github.event_name }}"
+
+ SHOULD_DISPATCH="false"
+ if [ "$EVENT_TYPE" = "push" ]; then
+ # Triggered by a push event
+ BRANCH_NAME=${GITHUB_REF#refs/heads/}
+ echo "Triggered by push event on branch: $BRANCH_NAME"
+
+ # Extract the staging number from branch name
+ if [[ "$BRANCH_NAME" =~ ^docs-staging-([0-9]+)$ ]]; then
+ STAGING_NUMBER="${BASH_REMATCH[1]}"
+ else
+ echo "Branch name does not match the required pattern docs-staging-X."
+ exit 1
+ fi
+
+ # Get the commit SHA from the push event
+ COMMIT_SHA="${GITHUB_SHA}"
+
+ elif [ "$EVENT_TYPE" = "pull_request" ]; then
+ # Triggered by a PR labeled event
+ LABEL_NAME="${{ github.event.label.name }}"
+ echo "Triggered by PR labeled event with label: $LABEL_NAME"
+
+ if [[ "$LABEL_NAME" =~ ^docs-staging-([0-9]+)$ ]]; then
+ STAGING_NUMBER="${BASH_REMATCH[1]}"
+ else
+ echo "Label does not match the required pattern docs-staging-X."
+ # Do not dispatch if it doesn't match
+ echo "should_dispatch=false" >> $GITHUB_OUTPUT
+ exit 0
+ fi
+
+ # Get the commit SHA from the pull request head
+ COMMIT_SHA="${{ github.event.pull_request.head.sha }}"
+
+ # Update the docs-staging-x branch to the latest SHA from the PR branch
+ git config user.name "github-actions[bot]"
+ git config user.email "github-actions[bot]@users.noreply.github.com"
+ git checkout docs-staging-$STAGING_NUMBER || { echo "Failed to checkout docs-staging-$STAGING_NUMBER"; exit 1; }
+ git reset --hard $COMMIT_SHA || { echo "Git reset failed"; exit 1; }
+ git push origin docs-staging-$STAGING_NUMBER --force || { echo "Git push failed"; exit 1; }
+
+ else
+ echo "Event type $EVENT_TYPE not supported."
+ echo "should_dispatch=false" >> $GITHUB_OUTPUT
+ exit 0
+ fi
+
+ echo "Staging Number: $STAGING_NUMBER"
+
+ # Check if staging number is 0 or 1
+ if [ "$STAGING_NUMBER" = "0" ] || [ "$STAGING_NUMBER" = "1" ]; then
+ echo "Staging number $STAGING_NUMBER is reserved."
+ echo "Review server repos are handled in the \`update-review-servers-on-code-push.yml\` repository."
+ echo "should_dispatch=false" >> $GITHUB_OUTPUT
+ exit 0
+ fi
+
+ TARGET_REPO="docs-staging-$STAGING_NUMBER"
+ echo "Target Repository: $TARGET_REPO"
+ SHOULD_DISPATCH="true"
+
+ # Set outputs
+ echo "target_repo=$TARGET_REPO" >> $GITHUB_OUTPUT
+ echo "commit_sha=$COMMIT_SHA" >> $GITHUB_OUTPUT
+ echo "should_dispatch=$SHOULD_DISPATCH" >> $GITHUB_OUTPUT
+
+ - name: Dispatch repository dispatch event to staging repo
+ if: steps.determine_repo.outputs.should_dispatch == 'true'
+ env:
+ REPO_DISPATCH_TOKEN: ${{ secrets.DOCS_BOT_PAT_WORKFLOW }}
+ TARGET_OWNER: github
+ TARGET_REPO: ${{ steps.determine_repo.outputs.target_repo }}
+ EVENT_TYPE: update-sha
+ SHA: ${{ steps.determine_repo.outputs.commit_sha }}
+ run: |
+ curl -X POST \
+ -H "Accept: application/vnd.github.v3+json" \
+ -H "Authorization: token $REPO_DISPATCH_TOKEN" \
+ https://api.github.com/repos/$TARGET_OWNER/$TARGET_REPO/dispatches \
+ -d "{\"event_type\":\"$EVENT_TYPE\",\"client_payload\":{\"SHA\":\"$SHA\"}}"
+
+ - uses: ./.github/actions/slack-alert
+ if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
+ with:
+ slack_channel_id: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }}
+ slack_token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
diff --git a/.github/workflows/update-review-servers-on-code-push.yml b/.github/workflows/update-review-servers-on-code-push.yml
new file mode 100644
index 000000000000..ff2032eddc1b
--- /dev/null
+++ b/.github/workflows/update-review-servers-on-code-push.yml
@@ -0,0 +1,67 @@
+# **What it does**: Triggers a repo dispatch event when pushing a code change to `main`
+# dispatches the latest SHA to both review server repos, `docs-staging-0` and `docs-staging-1`
+#
+# Note: We only dispatch on code changes to prevent unnecessary deployments since content changes
+# won't affect the review servers.
+#
+# **Why we have it**: Keeps the review servers up-to-date with the latest code changes
+# **Who does it impact**: Docs Content and Docs Engineering
+
+name: Update review servers on code push
+
+on:
+ push:
+ branches:
+ - main
+ paths:
+ - 'src/**'
+ - 'package.json'
+ - 'tsconfig.json'
+ - 'next.config.js'
+
+permissions:
+ contents: read
+
+jobs:
+ dispatch-sha:
+ if: github.repository == 'github/docs-internal'
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ target_repo: [docs-staging-0, docs-staging-1]
+
+ steps:
+ # Needed because we call a composite action (Slack alert)
+ - name: Checkout source repository
+ uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ with:
+ fetch-depth: 1 # Only need latest commit
+
+ - name: Determine commit SHA and dispatch condition
+ id: determine_repo
+ run: |
+ echo "commit_sha=${GITHUB_SHA}" >> $GITHUB_OUTPUT
+ # Since this workflow only runs when code changes occur (due to path filters),
+ # we can always set should_dispatch to true.
+ echo "should_dispatch=true" >> $GITHUB_OUTPUT
+
+ - name: Dispatch repository dispatch event to staging repos
+ if: steps.determine_repo.outputs.should_dispatch == 'true'
+ env:
+ REPO_DISPATCH_TOKEN: ${{ secrets.DOCS_BOT_PAT_WORKFLOW }}
+ TARGET_OWNER: github
+ TARGET_REPO: ${{ matrix.target_repo }}
+ EVENT_TYPE: update-sha
+ SHA: ${{ steps.determine_repo.outputs.commit_sha }}
+ run: |
+ curl -X POST \
+ -H "Accept: application/vnd.github.v3+json" \
+ -H "Authorization: token $REPO_DISPATCH_TOKEN" \
+ https://api.github.com/repos/$TARGET_OWNER/$TARGET_REPO/dispatches \
+ -d "{\"event_type\":\"$EVENT_TYPE\",\"client_payload\":{\"SHA\":\"$SHA\"}}"
+
+ - uses: ./.github/actions/slack-alert
+ if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
+ with:
+ slack_channel_id: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }}
+ slack_token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
diff --git a/Dockerfile b/Dockerfile
index ca3381d9c512..d4ce7e2c8793 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -5,11 +5,23 @@
# --------------------------------------------------------------------------------
# BASE IMAGE
# --------------------------------------------------------------------------------
-# To update the sha, run `docker pull node:$VERSION-alpine`
-# look for something like: `Digest: sha256:0123456789abcdef`
-FROM node:22-alpine@sha256:c13b26e7e602ef2f1074aef304ce6e9b7dd284c419b35d89fcf3cc8e44a8def9 AS base
+# To update the sha:
+# https://github.com/github/gh-base-image/pkgs/container/gh-base-image%2Fgh-base-noble
+FROM ghcr.io/github/gh-base-image/gh-base-noble:20250108-185521-gcd4825276 AS base
+
+# Install git for cloning docs-early-access & translations repos
+# Install curl for determining the early access branch
+RUN apt-get -qq update && apt-get -qq install --no-install-recommends git curl
+
+# Install Node.js latest LTS
+# https://github.com/nodejs/release#release-schedule
+# Ubuntu's apt-get install nodejs is _very_ outdated
+RUN curl -sL https://deb.nodesource.com/setup_22.x | bash -
+RUN apt-get install -y nodejs
+RUN node --version
# This directory is owned by the node user
+RUN useradd -ms /bin/bash node
ARG APP_HOME=/home/node/app
RUN mkdir -p $APP_HOME && chown -R node:node $APP_HOME
WORKDIR $APP_HOME
@@ -17,10 +29,6 @@ WORKDIR $APP_HOME
# Switch to root to ensure we have permissions to copy, chmod, and install
USER root
-# Install git for cloning docs-early-access & translations repos
-# Install curl for determining the early access branch
-RUN apk add --no-cache git curl
-
# Copy in build scripts
COPY src/deployments/production/build-scripts/*.sh ./build-scripts/
@@ -39,12 +47,12 @@ COPY data ./data
# We use --mount-type=secret to avoid the secret being copied into the image layers for security
# The secret passed via --secret can only be used in this RUN command
RUN --mount=type=secret,id=DOCS_BOT_PAT_READPUBLICKEY \
- # We don't cache because Docker can't know if we need to fetch new content from remote repos
- echo "Don't cache this step by printing date: $(date)" && \
- . ./build-scripts/fetch-repos.sh
+ # We don't cache because Docker can't know if we need to fetch new content from remote repos
+ echo "Don't cache this step by printing date: $(date)" && \
+ . ./build-scripts/fetch-repos.sh
# Give node user access to the copied content since we cloned as root
-RUN chown -R node:node $APP_HOME/content
+RUN chown -R node:node $APP_HOME/content
RUN chown -R node:node $APP_HOME/assets
RUN chown -R node:node $APP_HOME/data
# Give node user access to translations repos
@@ -105,7 +113,7 @@ RUN npm run precompute-pageinfo -- --max-versions 2
RUN npm prune --production
# --------------------------------------------------------------------------------
-# PRODUCTION IMAGE
+# PRODUCTION IMAGE
# --------------------------------------------------------------------------------
FROM base AS production
@@ -140,7 +148,7 @@ COPY --chown=node:node --from=builder $APP_HOME/next.config.js ./
COPY --chown=node:node --from=builder $APP_HOME/tsconfig.json ./
# - - -
-# Environment variables are set in the Moda
+# Environment variables are set in the Moda
# configuration: config/moda/configuration/*/env.yaml
# - - -
diff --git a/LICENSE-CODE b/LICENSE-CODE
index fce94e6f0dd5..f3b5f7eda9e6 100644
--- a/LICENSE-CODE
+++ b/LICENSE-CODE
@@ -1,6 +1,6 @@
MIT License
-Copyright 2024 GitHub
+Copyright 2025 GitHub
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/README.md b/README.md
index 69090a601896..bd02c836ac79 100644
--- a/README.md
+++ b/README.md
@@ -9,13 +9,13 @@ Use the table of contents icon
diff --git a/assets/images/help/models/model-playground-code-tab.png b/assets/images/help/models/model-playground-code-tab.png
new file mode 100644
index 000000000000..f63e8832cd2e
Binary files /dev/null and b/assets/images/help/models/model-playground-code-tab.png differ
diff --git a/assets/images/help/repository/headings-toc.png b/assets/images/help/repository/headings-toc.png
index a1f27da4b4ce..8937b2aff0f5 100644
Binary files a/assets/images/help/repository/headings-toc.png and b/assets/images/help/repository/headings-toc.png differ
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/README.md b/content/README.md
index 19e57200b888..672c9629c755 100644
--- a/content/README.md
+++ b/content/README.md
@@ -196,7 +196,7 @@ featuredLinks:
### `allowTitleToDifferFromFilename`
-- Purpose: Indicates whether a page is allowed to have a title that differs from its filename. Pages with this frontmatter set to `true` will not be flagged in tests or updated by `src/content-render/scripts/reconcile-filenames-with-ids.js`. Use this value if a file's `title` frontmatter includes Liquid or punctuation that cannot be part of the filename. For example, the article "[About Enterprise Managed Users](https://docs.github.com/en/enterprise-cloud@latest/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users)" uses a Liquid reusable in its title, `'About {% data variables.product.prodname_emus %}'`, which cannot be in the filename, `about-enterprise-managed-users.md`, so the `allowTitleToDifferFromFilename` frontmatter is set to `true`.
+- Purpose: Indicates whether a page is allowed to have a title that differs from its filename. Pages with this frontmatter set to `true` will not be flagged in tests or updated by `src/content-render/scripts/reconcile-filenames-with-ids.js`. Use this value if a file's `title` frontmatter includes Liquid or punctuation that cannot be part of the filename. For example, the article [About Enterprise Managed Users](https://docs.github.com/en/enterprise-cloud@latest/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users) uses a Liquid reusable in its title, `'About {% data variables.product.prodname_emus %}'`, which cannot be in the filename, `about-enterprise-managed-users.md`, so the `allowTitleToDifferFromFilename` frontmatter is set to `true`.
- Type: `Boolean`. Default is `false`.
- Optional.
@@ -293,15 +293,15 @@ Do not add hardcoded "In this article" sections in the Markdown source or else t
A content file can have **two** types of versioning:
- [`versions`](#versions) frontmatter (**required**)
- - Determines in which versions the page is available. See "[Versioning documentation](https://docs.github.com/en/contributing/writing-for-github-docs/versioning-documentation)" for more info.
+ - Determines in which versions the page is available. See [Versioning documentation](https://docs.github.com/en/contributing/writing-for-github-docs/versioning-documentation) for more info.
- Liquid statements in content (**optional**)
- - Conditionally render content depending on the current version being viewed. See "[Versioning documentation](https://docs.github.com/en/contributing/writing-for-github-docs/versioning-documentation#versioning-with-liquid-conditional-operators)" for more info. Note Liquid conditionals can also appear in `data` and `include` files.
+ - Conditionally render content depending on the current version being viewed. See [Versioning documentation](https://docs.github.com/en/contributing/writing-for-github-docs/versioning-documentation#versioning-with-liquid-conditional-operators) for more info. Note Liquid conditionals can also appear in `data` and `include` files.
**Note**: As of early 2021, the `free-pro-team@latest` version is not included URLs. A helper function called `src/versions/lib/remove-fpt-from-path.js` removes the version from URLs.
## Filenames
-When adding a new article, the filename is a [kebab-cased](https://en.wikipedia.org/wiki/Letter_case#Kebab_case) version of the article's [`title`](#title) frontmatter. For example, the article "[About GitHub CLI](https://docs.github.com/en/github-cli/github-cli/about-github-cli)" has a `title` frontmatter of `About GitHub CLI` and a filename of `about-github-cli.md`.
+When adding a new article, the filename is a [kebab-cased](https://en.wikipedia.org/wiki/Letter_case#Kebab_case) version of the article's [`title`](#title) frontmatter. For example, the article [About GitHub CLI](https://docs.github.com/en/github-cli/github-cli/about-github-cli) has a `title` frontmatter of `About GitHub CLI` and a filename of `about-github-cli.md`.
Directory names for categories and map topics can match the `title` or `shortTitle` frontmatter.
@@ -383,7 +383,7 @@ You can link directly to a different version of the page using the `currentArtic
Sometimes you want to link to a Dotcom-only article in Enterprise content and you don't want the link to be Enterprise-ified. To prevent the transformation, you should include the preferred version in the path.
```markdown
-"[GitHub's Terms of Service](/free-pro-team@latest/github/site-policy/github-terms-of-service)"
+[GitHub's Terms of Service](/free-pro-team@latest/github/site-policy/github-terms-of-service)
```
Sometimes the canonical home of content moves outside the docs site. None of the links included in [`src/redirects/lib/external-sites.json`](/src/redirects/lib/external-sites.json) get rewritten. See [`contributing/redirects.md`](/contributing/redirects.md) for more info about this type of redirect.
diff --git a/content/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications.md b/content/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications.md
index e4f61014d69d..3543aa1229ad 100644
--- a/content/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications.md
+++ b/content/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications.md
@@ -79,7 +79,7 @@ Anytime you comment in a conversation or when someone @mentions your username, y
For conversations you're watching or participating in, you can choose whether you want to receive notifications by email or through the notifications inbox. For more information, see [Choosing your notification settings](/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications#choosing-your-notification-settings).
-![Screenshot of the "Notification settings" page. The "Participating" and "Watching" settings are shown, each with two checkbox options, titled "Email" and "Web and Mobile".](/assets/images/help/notifications-v2/participating-and-watching-options.png){% endif %}
+![Screenshot of the "Notification settings" page. "Participating" and "Watching" each have two checkbox options: "Email" and "Web and Mobile".](/assets/images/help/notifications-v2/participating-and-watching-options.png){% endif %}
For example, on your "Notification settings" page:
* If you don't want notifications to be sent to your email, deselect **email** for participating and watching notifications.
@@ -236,8 +236,6 @@ For more information about the notification delivery methods available to you, a
For more information on how to configure notifications for {% data variables.secret-scanning.alerts %}, see [AUTOTITLE](/code-security/secret-scanning/managing-alerts-from-secret-scanning/monitoring-alerts).
-{% ifversion update-notification-settings-22 or ghes %}
-
## {% data variables.product.prodname_actions %} notification options
For repositories that are set up with {% data variables.product.prodname_actions %} and that you are watching, you can choose how you want to receive workflow run updates.
@@ -245,7 +243,7 @@ For repositories that are set up with {% data variables.product.prodname_actions
{% ifversion update-notification-settings-22 %}
1. On the "Notification settings" page, under "System", then under "Actions", select the **Don't notify** dropdown menu.
- ![Screenshot of the "System" section of the notification settings. Under "Actions," a dropdown menu, titled "Don't notify", is highlighted with an orange outline.](/assets/images/help/notifications/github-actions-customize-notifications.png)
+ ![Screenshot of the "System" section of the notification settings. Under "Actions," a dropdown menu, titled "Don't notify", is outlined in orange.](/assets/images/help/notifications/github-actions-customize-notifications.png)
1. To opt into web notifications, from the dropdown menu, select "On {% data variables.product.prodname_dotcom %}."
To opt into email notifications, from the dropdown menu, select "Email."
@@ -254,9 +252,7 @@ For repositories that are set up with {% data variables.product.prodname_actions
{% ifversion ghes %}
On the "Notification settings" page, select "Email" or "Web" notifications. Optionally, to only receive notifications for failed workflow runs, select "Send notifications for failed workflows only".
-![Screenshot of the "Actions" section on the "Notification settings" page. Three checkboxes, titled "Email", "Web", and "Send notifications for failed workflows only", are shown.](/assets/images/help/notifications-v2/github-actions-notification-options.png){% endif %}
-
-{% endif %}
+![Screenshot of the "Actions" section of "Notification settings" with checkboxes: "Email", "Web", and "Send notifications for failed workflows only."](/assets/images/help/notifications-v2/github-actions-notification-options.png){% endif %}
## Organization alerts notification options
diff --git a/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/index.md b/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/index.md
index 08a6da63ce2d..d5b30b53132e 100644
--- a/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/index.md
+++ b/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/index.md
@@ -17,5 +17,5 @@ children:
- /managing-your-profile-readme
- /pinning-items-to-your-profile
- /setting-your-profile-to-private
+ - /using-your-github-profile-to-enhance-your-resume
---
-
diff --git a/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile.md b/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile.md
index cd27989dd8a6..eacef672a92d 100644
--- a/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile.md
+++ b/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile.md
@@ -92,8 +92,6 @@ Add pronouns to your public user profile to share information about yourself wit
{% endif %}
-{% ifversion profile-time-zone %}
-
## Setting your location and time zone
You can set a location and time zone on your profile to show other people your local time. Your location and time zone will be visible:
@@ -111,8 +109,6 @@ When you view your profile, you will see your location, local time, and your tim
* Select the **Time zone** dropdown menu, then click your local time zone.
{% data reusables.profile.update-profile %}
-{% endif %}
-
{% ifversion profile-social-links %}
## Adding links to your social accounts
diff --git a/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/using-your-github-profile-to-enhance-your-resume.md b/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/using-your-github-profile-to-enhance-your-resume.md
new file mode 100644
index 000000000000..78342c0af42a
--- /dev/null
+++ b/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/using-your-github-profile-to-enhance-your-resume.md
@@ -0,0 +1,107 @@
+---
+title: Using your GitHub profile to enhance your resume
+intro: 'Demonstrate your skills to hiring managers with your {% data variables.product.github %} profile.'
+versions:
+ fpt: '*'
+topics:
+ - Profiles
+shortTitle: Enhance your resume
+---
+
+## How can my {% data variables.product.github %} profile enhance my resume?
+
+When you include a link to your {% data variables.product.github %} profile in your resume, you showcase your skills and experience to potential employers. In this article, you'll find practical tips for preparing your {% data variables.product.github %} profile for a job search.
+
+After you complete these steps, you can be confident that hiring managers will have a good sense of your technical skills when they are reviewing your {% data variables.product.github %} profile.
+
+## Step 1: Create a professional bio
+
+Your bio is a sentence or two that appears under your profile picture. Use your bio to give potential employers a high-level overview of who you are and what kind of work you're looking for.
+
+Navigate to your [profile settings](https://github.com/settings/profile) to update your bio. Keep this description short and concise. Consider something like, "Hello! My name is Mona and I'm looking for work as a front end developer."
+
+> [!NOTE] While you're here, you can update the rest of your profile settings. Consider including a profile picture, a link to your personal website or portfolio, and links to your social profiles.
+
+## Step 2: Create a profile README
+
+Compared to your bio, your profile README is flexible and allows for more creativity. You can write more in your profile README to showcase your skills and interests.
+
+Things you may want to add to your profile README include:
+
+* **An introduction**: Write a brief introduction of yourself and your professional background.
+* **Skills and experience**: List your technical skills, including any programming languages, frameworks, and tools you are proficient in.
+* **Your professional experience**: Describe where you've worked before and what sort of professional skills you've built. These can even be non-technical skills, such as communication and empathy.
+* **Some of your best projects**: Describe some projects you're proud of. You'll also pin these repositories later, but your README gives you a chance to provide more commentary.
+* **Achievements or awards**: Show off any of your achievements, including certifications or awards you've received for your work.
+
+For instructions for creating a profile README, see [AUTOTITLE](/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme#adding-a-profile-readme).
+
+> [!NOTE] Updating and customizing your profile README also helps demonstrate fluency using Markdown and HTML, which are useful skills for technical jobs. To show off your skills for potential employers, look for ways to use more advanced Markdown or HTML elements in your profile README.
+
+## Step 3: Choose projects to showcase
+
+Pick your favorite 3-5 projects to highlight for your job application. For the best chances at an interview, pick projects that show your diverse skills and are relevant to your specific job search.
+
+These can be projects you created or projects that you contributed to:
+
+* Projects you own are fully under your control, so you can prepare the project using the rest of the steps below.
+* Open source projects highlight your ability to collaborate with others.
+
+To take advantage of both, pin some of each to your profile.
+
+Repositories you pin will be prominently displayed on your profile, allowing you to direct hiring managers' attention to the projects you're most proud of.
+
+To get started, click **Customize your pins** in the "Popular repositories" section of your profile.
+
+## Step 4: Prepare the projects you want to showcase
+
+Hiring managers usually consider many applicants for each role. Expect that they will only look at your projects for a couple minutes. To give the best impression during this brief time, you should make your projects easy to understand and explore.
+
+Below, you'll find some practical suggestions for preparing your showcase projects, as well as some tips on using {% data variables.product.prodname_copilot_short %} to help.
+
+> [!NOTE] Always verify the answers that {% data variables.product.prodname_copilot_short %} provides.
+
+### Update the repository details
+
+On the main page of the repository, to the right of "About," click {% octicon "gear" aria-label="Edit repository metadata" %}. Here, you can provide information that helps hiring managers quickly understand the project:
+* A brief description of your project
+* A website where you can see the project in action
+* Topic tags that categorize your project
+
+### Write a helpful README
+
+The README for your project's repository is a perfect space to give a concise project overview. Helpful project README details include:
+* A list of key features of the project
+* Details on how to set up and run the project
+* An example or demo of the project
+* Instructions on testing your code
+
+You can use [Copilot Chat](https://github.com/copilot) to help write your README. Use a prompt like this:
+>Write a README for my `lottery-number-generator` repository.
+
+### Make the code easy to understand
+
+To give the best impression, you'll want to make sure that hiring managers can understand your project quickly. In general, a few best practices can help give any readers an understanding of your project and how you work with code:
+
+* Maintain a consistent coding style with descriptive file and directory names throughout the project
+* Use helpful comments and documentation for any complex or important snippets
+* Refine your code according to popular style guides
+* Simplify complex functions, break down large classes, and remove redundant code
+* Provide tests to validate that your code is working as expected
+
+You can use [{% data variables.product.prodname_copilot_extension_vsc %}](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) to interact with {% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_vscode_shortname %}. Here, {% data variables.product.prodname_copilot_short %} can help answer more specific questions about your project, make edits across multiple files, provide suggestions for simplifying your code, and write tests. For more information, see [AUTOTITLE](/copilot/using-github-copilot/guides-on-using-github-copilot/writing-tests-with-github-copilot).
+
+### Update your project's dependencies
+
+To showcase your understanding of security best practices, ensure your project is using the latest versions of any dependencies. You can use {% data variables.product.prodname_dependabot_alerts %} and security updates to view alerts about dependencies with known security vulnerabilities. For more information, see [AUTOTITLE](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts).
+
+## Looking forward: Maintaining your projects
+
+Your profile is now ready to be included on your resume! The changes you made today will have a big impact on your job search and will make your {% data variables.product.github %} profile stand out to hiring managers.
+
+If you want to improve your profile even more, incorporate these practices into your coding routines:
+
+* **Maintain a clean commit history**. To make your project history understandable, use descriptive commit messages and work in smaller batches.
+* **Use issues, pull requests, and {% data variables.product.prodname_projects_v2 %}**. Showcase your task management and project planning skills by tracking bugs and feature requests with issues and using {% data variables.product.prodname_projects_v2 %} to organize them.
+* **Keep dependencies updated**. Use {% data variables.product.prodname_dependabot_version_updates %} to automatically update your project's dependencies with the latest security features and bug fixes.
+* **Contribute to open source**. Open source contributions showcase your collaboration skills and prove that you can work in complex code bases. For more information, see [AUTOTITLE](/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github).
diff --git a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-personal-accounts-repositories.md b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-personal-accounts-repositories.md
index d5151af2ae21..6052b705a660 100644
--- a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-personal-accounts-repositories.md
+++ b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-personal-accounts-repositories.md
@@ -36,7 +36,7 @@ The person you invite to be your successor must have a {% data variables.product
1. Under "Successor settings", to invite a successor, begin typing a username, full name, or email address, then click their name when it appears.
- ![Screenshot of the "Successor settings" section. The string "octocat" is entered in a search field, and Octocat's profile is listed in a dropdown below.](/assets/images/help/settings/settings-invite-successor-search-field.png)
+ ![Screenshot of the "Successor settings" section. The string "octocat" is entered in a search field, and Octocat's profile is listed in a dropdown.](/assets/images/help/settings/settings-invite-successor-search-field.png)
1. Click **Add successor**.
{% data reusables.user-settings.sudo-mode-popup %}
diff --git a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/adding-an-email-address-to-your-github-account.md b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/adding-an-email-address-to-your-github-account.md
index f1c5c01c5dfd..b4baa9dfde01 100644
--- a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/adding-an-email-address-to-your-github-account.md
+++ b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/adding-an-email-address-to-your-github-account.md
@@ -1,6 +1,6 @@
---
title: Adding an email address to your GitHub account
-intro: '{% data variables.product.product_name %} allows you to add as many email addresses to your account as you like. If you set an email address in your local Git configuration, you will need to add it to your account settings in order to connect your commits to your account. For more information about your email address and commits, see "[Setting your commit email address](/articles/setting-your-commit-email-address/)."'
+intro: '{% data variables.product.product_name %} allows you to add as many email addresses to your account as you like. If you set an email address in your local Git configuration, you will need to add it to your account settings in order to connect your commits to your account. For more information about your email address and commits, see [Setting your commit email address](/articles/setting-your-commit-email-address/).'
redirect_from:
- /articles/adding-an-email-address-to-your-github-account
- /github/setting-up-and-managing-your-github-user-account/adding-an-email-address-to-your-github-account
diff --git a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-user-account-settings/managing-accessibility-settings.md b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-user-account-settings/managing-accessibility-settings.md
index 3c1e08293999..297de01bebb3 100644
--- a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-user-account-settings/managing-accessibility-settings.md
+++ b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-user-account-settings/managing-accessibility-settings.md
@@ -48,8 +48,6 @@ By default, all keyboard shortcuts are enabled on {% data variables.product.prod
* To customize the keyboard shortcuts for triggering the command palette, under "Command palette", use the drop-down menus to choose a keyboard shortcut. For more information, see [AUTOTITLE](/get-started/accessibility/github-command-palette).
{%- endif %}
-{% ifversion motion-management %}
-
## Managing motion
You can control how {% data variables.product.product_name %} displays animated _.gif_ images.
@@ -61,5 +59,3 @@ By default, {% data variables.product.product_name %} syncs with your system-lev
1. Under "Motion", manage settings for motion.
* To control how {% data variables.product.product_name %} displays animated images, under "Autoplay animated images", select **Sync with system**, **Enabled**, or **Disabled**.
-
-{% endif %}
diff --git a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-user-account-settings/managing-security-and-analysis-settings-for-your-personal-account.md b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-user-account-settings/managing-security-and-analysis-settings-for-your-personal-account.md
index 617534c2cd67..0a4a9725b6be 100644
--- a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-user-account-settings/managing-security-and-analysis-settings-for-your-personal-account.md
+++ b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-user-account-settings/managing-security-and-analysis-settings-for-your-personal-account.md
@@ -35,7 +35,7 @@ For an overview of repository-level security, see [AUTOTITLE](/code-security/get
1. Under {% ifversion code-security-wording-only %}"Code security"{% else %}"Code security and analysis"{% endif %}, to the right of the feature, click **Disable all** or **Enable all**.
1. Optionally, enable the feature by default for new repositories that you own.{% ifversion not ghes %}
- ![Screenshot of the "Enable FEATURE" modal dialog, with the "Enable by default for new private repositories" option highlighted with a dark orange outline.](/assets/images/help/settings/security-and-analysis-enable-by-default-in-modal.png){% endif %}
+ ![Screenshot of the "Enable FEATURE" modal dialog, with the "Enable by default for new private repositories" option outlined in dark orange.](/assets/images/help/settings/security-and-analysis-enable-by-default-in-modal.png){% endif %}
1. Click **Disable FEATURE** or **Enable FEATURE** to disable or enable the feature for all the repositories you own.
diff --git a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-user-account-settings/managing-your-cookie-preferences-for-githubs-enterprise-marketing-pages.md b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-user-account-settings/managing-your-cookie-preferences-for-githubs-enterprise-marketing-pages.md
index d76b125e9d4a..a0c8eb10c64a 100644
--- a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-user-account-settings/managing-your-cookie-preferences-for-githubs-enterprise-marketing-pages.md
+++ b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-user-account-settings/managing-your-cookie-preferences-for-githubs-enterprise-marketing-pages.md
@@ -27,6 +27,6 @@ You can customize how non-essential cookies behave on any {% data variables.prod
1. Under "Manage cookie preferences," to accept or reject each non-essential cookie, click **Accept** or **Reject**.
- ![Screenshot of the "Manage cookie preferences" dialog window. Under "Analytics," two radio buttons, labeled "Accept" and "Reject," are outlined in orange.](/assets/images/help/settings/cookie-settings-accept-or-reject.png)
+ ![Screenshot of the "Manage cookie preferences" dialog. Under "Analytics", two radio buttons, labeled "Accept" and "Reject," are outlined.](/assets/images/help/settings/cookie-settings-accept-or-reject.png)
1. Click **Save changes**.
diff --git a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/managing-your-scheduled-reminders.md b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/managing-your-scheduled-reminders.md
index d23dab9157d0..5af4ef321ce5 100644
--- a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/managing-your-scheduled-reminders.md
+++ b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/managing-your-scheduled-reminders.md
@@ -28,7 +28,7 @@ You can set scheduled reminders for personal or team-level review requests for p
{% data reusables.reminders.scheduled-reminders %}
1. Next to the organization you'd like to schedule reminders for, click {% octicon "pencil" aria-label="Edit reminder" %}.
- ![Screenshot of the settings for a personal account showing the name of a GitHub organization. An edit button with a pencil icon is outlined in dark orange.](/assets/images/help/settings/scheduled-reminders-org-choice.png)
+ ![Screenshot of the settings for a personal account showing the name of a GitHub organization. An edit button with a pencil icon is outlined in orange.](/assets/images/help/settings/scheduled-reminders-org-choice.png)
{% data reusables.reminders.authorize-slack %}
{% data reusables.reminders.days-dropdown %}
@@ -45,7 +45,7 @@ You can set scheduled reminders for personal or team-level review requests for p
{% data reusables.reminders.scheduled-reminders %}
1. Next to the organization you'd like to edit scheduled reminders for, click {% octicon "pencil" aria-label="Edit reminder" %}.
- ![Screenshot of the settings for a personal account showing the name of a GitHub organization. An edit button with a pencil icon is outlined in dark orange.](/assets/images/help/settings/scheduled-reminders-org-choice.png)
+ ![Screenshot of the settings for a personal account showing the name of a GitHub organization. An edit button with a pencil icon is outlined in orange.](/assets/images/help/settings/scheduled-reminders-org-choice.png)
{% data reusables.reminders.edit-page %}
{% data reusables.reminders.update-buttons %}
@@ -57,7 +57,7 @@ You can set scheduled reminders for personal or team-level review requests for p
{% data reusables.reminders.scheduled-reminders %}
1. Next to the organization you'd like to delete reminders for, click {% octicon "pencil" aria-label="Edit reminder" %}.
- ![Screenshot of the settings for a personal account showing the name of a GitHub organization. An edit button with a pencil icon is outlined in dark orange.](/assets/images/help/settings/scheduled-reminders-org-choice.png)
+ ![Screenshot of the settings for a personal account showing the name of a GitHub organization. An edit button with a pencil icon is outlined in orange.](/assets/images/help/settings/scheduled-reminders-org-choice.png)
{% data reusables.reminders.delete %}
diff --git a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/publicizing-or-hiding-organization-membership.md b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/publicizing-or-hiding-organization-membership.md
index 4c06ba1d5898..febd59177a0a 100644
--- a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/publicizing-or-hiding-organization-membership.md
+++ b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/publicizing-or-hiding-organization-membership.md
@@ -27,4 +27,4 @@ shortTitle: Show or hide membership
* To publicize your membership, choose **Public**.
* To hide your membership, choose **Private**.
- ![Screenshot of an entry in the list of organization members. To the right of the username, a dropdown menu, labeled "Private", is outlined in dark orange.](/assets/images/help/organizations/member-visibility-link.png)
+ ![Screenshot of an entry in the list of organization members. Next to the username, a dropdown menu, labeled "Private", is outlined in dark orange.](/assets/images/help/organizations/member-visibility-link.png)
diff --git a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/requesting-organization-approval-for-oauth-apps.md b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/requesting-organization-approval-for-oauth-apps.md
index ffa4af89d45b..58dfa736d07e 100644
--- a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/requesting-organization-approval-for-oauth-apps.md
+++ b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/requesting-organization-approval-for-oauth-apps.md
@@ -18,7 +18,7 @@ shortTitle: Request {% data variables.product.prodname_oauth_app %} approval
## About requesting organization approval for an {% data variables.product.prodname_oauth_app %}
-Organization members can always request owner approval for {% data variables.product.prodname_oauth_apps %} they'd like to use, and organization owners receive a notification of pending requests.{% ifversion limit-app-access-requests %} Outside collaborators can request owner approval for {% data variables.product.prodname_oauth_apps %} they'd like to use if integration access requests are enabled. For more information, see [AUTOTITLE](/organizations/managing-programmatic-access-to-your-organization/limiting-oauth-app-and-github-app-access-requests).{% endif %}
+Organization members can always request owner approval for {% data variables.product.prodname_oauth_apps %} they'd like to use, and organization owners receive a notification of pending requests. Outside collaborators can request owner approval for {% data variables.product.prodname_oauth_apps %} they'd like to use if integration access requests are enabled. For more information, see [AUTOTITLE](/organizations/managing-programmatic-access-to-your-organization/limiting-oauth-app-and-github-app-access-requests).
## Requesting organization approval for an {% data variables.product.prodname_oauth_app %} you've already authorized for your personal account
diff --git a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/viewing-peoples-roles-in-an-organization.md b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/viewing-peoples-roles-in-an-organization.md
index 15ef0ddab8f1..d2ea9b248849 100644
--- a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/viewing-peoples-roles-in-an-organization.md
+++ b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/viewing-peoples-roles-in-an-organization.md
@@ -1,6 +1,6 @@
---
title: Viewing people's roles in an organization
-intro: 'You can view a list of the people in your organization and filter by their role. For more information on organization roles, see "[Roles in an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)."'
+intro: 'You can view a list of the people in your organization and filter by their role. For more information on organization roles, see [Roles in an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization).'
permissions: Organization members can see people's roles in the organization.
redirect_from:
- /articles/viewing-people-s-roles-in-an-organization
@@ -49,7 +49,7 @@ You can also view whether an enterprise owner has a specific role in the organiz
| Enterprise owner | Organization owner | Able to configure organization settings and manage access to the organization's resources through teams, etc. |
| Enterprise owner | Organization member | Able to access organization resources and content, such as repositories, without access to the organization's settings. |
-To review all roles in an organization, see [AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization). {% ifversion custom-repository-roles %} An organization member can also have a custom role for a specific repository. For more information, see [AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/managing-custom-repository-roles-for-an-organization).{% endif %}
+To review all roles in an organization, see [AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization). {% ifversion ghec or ghes %} An organization member can also have a custom role for a specific repository. For more information, see [AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/managing-custom-repository-roles-for-an-organization).{% endif %}
For more information about the enterprise owner role, see [AUTOTITLE](/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/roles-in-an-enterprise#enterprise-owner).
diff --git a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md
index 920d3e2a1834..c7231449f744 100644
--- a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md
+++ b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md
@@ -27,7 +27,7 @@ Before you leave your company, make sure you update the following information in
If you've been working with repositories that belong to an organization, you'll want to [remove yourself as a member of the organization](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/removing-yourself-from-an-organization). Note that if you are the organization owner, you should first [transfer ownership of the organization](/organizations/managing-organization-settings/transferring-organization-ownership) to another person.
-Unless you're using a {% data variables.enterprise.prodname_managed_user %}, you'll still be able to access your personal account, even after leaving the organization. For more information about {% data variables.product.prodname_emus %}, see "[About {% data variables.product.prodname_emus %}]({% ifversion not ghec %}/enterprise-cloud@latest{% endif %}/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users){% ifversion not ghec %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}
+Unless you're using a {% data variables.enterprise.prodname_managed_user %}, you'll still be able to access your personal account, even after leaving the organization. For more information about {% data variables.product.prodname_emus %}, see [About {% data variables.product.prodname_emus %}]({% ifversion not ghec %}/enterprise-cloud@latest{% endif %}/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users){% ifversion not ghec %} in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}
## Removing professional associations with personal repositories
diff --git a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/converting-a-user-into-an-organization.md b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/converting-a-user-into-an-organization.md
index cf5c5930c17b..8d3aec2a258f 100644
--- a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/converting-a-user-into-an-organization.md
+++ b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/converting-a-user-into-an-organization.md
@@ -32,7 +32,7 @@ shortTitle: User into an organization
> * Since organizations cannot star repositories, you will no longer have access to your original list of starred repositories.
> * You will no longer have access to the list of users you were following from your user account.
> * Any followers of your user account will not automatically follow the new organization.
-{% ifversion projects-v2 %}> * Any existing collaborators on your projects will still have access to those projects in the new organization.{% endif %}
+> * Any existing collaborators on your projects will still have access to those projects in the new organization.
> * {% data variables.product.prodname_actions %} is not automatically enabled on the account after converting it to an organization, and will have to be re-enabled. To re-enable {% data variables.product.prodname_actions %}, create a new workflow file in the `.github/workflows` directory of your repository.
## Prerequisites
diff --git a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts.md b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts.md
index 101cbc2ba216..7ed17840b271 100644
--- a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts.md
+++ b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts.md
@@ -14,7 +14,7 @@ shortTitle: Manage multiple accounts
In some cases, you may need to use multiple accounts on {% data variables.product.github %}. For example, you may have a personal account for open source contributions, and your employer may also create and manage a user account for you within an enterprise.
-You cannot use a {% data variables.enterprise.prodname_managed_user %} to contribute to public projects on {% data variables.location.product_location %}, so you must contribute to those resources using your personal account. For more information, see "[About {% data variables.product.prodname_emus %}]({% ifversion fpt %}/enterprise-cloud@latest{% endif %}/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users#abilities-and-restrictions-of-managed-user-accounts){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% elsif ghec %}."{% endif %}
+You cannot use a {% data variables.enterprise.prodname_managed_user %} to contribute to public projects on {% data variables.location.product_location %}, so you must contribute to those resources using your personal account. For more information, see [About {% data variables.product.prodname_emus %}]({% ifversion fpt %}/enterprise-cloud@latest{% endif %}/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users#abilities-and-restrictions-of-managed-user-accounts){% ifversion fpt %} in the {% data variables.product.prodname_ghe_cloud %} documentation.{% elsif ghec %}.{% endif %}
{% ifversion account-switcher %}
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..c98c46e3c593 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**
@@ -112,13 +112,13 @@ For more information, see:
## Workflow run history retention policy
-The workflow runs in a repository's workflow run history are retained for 400 days. After 400 days, workflow runs are archived. 10 days after archival, they are permanently deleted. The retention period for workflow runs cannot be modified. For more information, see "[AUTOTITLE](/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/viewing-workflow-run-history)."
+The workflow runs in a repository's workflow run history are retained for 400 days. After 400 days, workflow runs are archived. 10 days after archival, they are permanently deleted. The retention period for workflow runs cannot be modified. For more information, see [AUTOTITLE](/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/viewing-workflow-run-history).
## Disabling or limiting {% data variables.product.prodname_actions %} for your repository or organization
{% data reusables.actions.disabling-github-actions %}
-{% ifversion actions-cache-admin-ui %}You can also manage {% data variables.product.prodname_actions %} settings for your enterprise, such as workflow permissions and cache storage.{% endif %}
+{% ifversion ghes %}You can also manage {% data variables.product.prodname_actions %} settings for your enterprise, such as workflow permissions and cache storage.{% endif %}
For more information, see:
* [AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository)
diff --git a/content/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners.md b/content/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners.md
index c6b063300ea7..e25539a24b0d 100644
--- a/content/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners.md
+++ b/content/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners.md
@@ -124,6 +124,7 @@ The following processor architectures are supported for the self-hosted runner a
## Supported actions on self-hosted runners
+All `actions/setup-LANGUAGE` action repositories currently support three platforms: macOS, Windows, and Ubuntu.
Some extra configuration might be required to use actions from {% data variables.product.github %} with {% data variables.product.prodname_ghe_server %}, or to use the `actions/setup-LANGUAGE` actions with self-hosted runners that do not have internet access. For more information, see [AUTOTITLE](/admin/github-actions/managing-access-to-actions-from-githubcom) and contact your {% data variables.product.prodname_enterprise %} site administrator.
{% endif %}
@@ -161,7 +162,7 @@ You can use the REST API to get meta information about {% data variables.product
In addition, your workflow may require access to other network resources.
-If you use an IP address allow list for your {% data variables.product.prodname_dotcom %} organization or enterprise account, you must add your self-hosted runner's IP address to the allow list. For more information, see "[Managing allowed IP addresses for your organization](/{% ifversion fpt %}enterprise-cloud@latest/{% endif %}/organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization#using-github-actions-with-an-ip-allow-list)" or "[Enforcing policies for security settings in your enterprise](/{% ifversion fpt %}enterprise-cloud@latest/{% endif %}admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}
+If you use an IP address allow list for your {% data variables.product.prodname_dotcom %} organization or enterprise account, you must add your self-hosted runner's IP address to the allow list. For more information, see [Managing allowed IP addresses for your organization](/{% ifversion fpt %}enterprise-cloud@latest/{% endif %}/organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization#using-github-actions-with-an-ip-allow-list) or [Enforcing policies for security settings in your enterprise](/{% ifversion fpt %}enterprise-cloud@latest/{% endif %}admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise){% ifversion fpt %} in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}.{% endif %}
{% else %}
diff --git a/content/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners.md b/content/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners.md
index f3be54b66527..6e51c2f69e23 100644
--- a/content/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners.md
+++ b/content/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners.md
@@ -28,12 +28,8 @@ For information on supported operating systems for self-hosted runners, or using
You can set up automation to scale the number of self-hosted runners. For more information, see [AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/autoscaling-with-self-hosted-runners).
-{% ifversion actions-single-use-tokens %}
-
You can register ephemeral runners that perform a single job before the registration is cleaned up by using just-in-time runner registration. For more information, see [AUTOTITLE](/actions/security-guides/security-hardening-for-github-actions#using-just-in-time-runners).
-{% endif %}
-
## Prerequisites
{% data reusables.actions.self-hosted-runners-prerequisites %}
diff --git a/content/actions/hosting-your-own-runners/managing-self-hosted-runners/autoscaling-with-self-hosted-runners.md b/content/actions/hosting-your-own-runners/managing-self-hosted-runners/autoscaling-with-self-hosted-runners.md
index 930cb48970da..c76382f66238 100644
--- a/content/actions/hosting-your-own-runners/managing-self-hosted-runners/autoscaling-with-self-hosted-runners.md
+++ b/content/actions/hosting-your-own-runners/managing-self-hosted-runners/autoscaling-with-self-hosted-runners.md
@@ -48,12 +48,8 @@ The {% data variables.product.prodname_actions %} service will then automaticall
> [!NOTE]
> If a job is labeled for a certain type of runner, but none matching that type are available, the job does not immediately fail at the time of queueing. Instead, the job will remain queued until the 24 hour timeout period expires.
-{% ifversion actions-single-use-tokens %}
-
Alternatively, you can create ephemeral, just-in-time runners using the REST API. For more information, see [AUTOTITLE](/rest/actions/self-hosted-runners).
-{% endif %}
-
## Controlling runner software updates on self-hosted runners
By default, self-hosted runners will automatically perform a software update whenever a new version of the runner software is available. If you use ephemeral runners in containers then this can lead to repeated software updates when a new runner version is released. Turning off automatic updates allows you to update the runner version on the container image directly on your own schedule.
diff --git a/content/actions/hosting-your-own-runners/managing-self-hosted-runners/removing-self-hosted-runners.md b/content/actions/hosting-your-own-runners/managing-self-hosted-runners/removing-self-hosted-runners.md
index 3bac1dee60cb..cb1f3454ceef 100644
--- a/content/actions/hosting-your-own-runners/managing-self-hosted-runners/removing-self-hosted-runners.md
+++ b/content/actions/hosting-your-own-runners/managing-self-hosted-runners/removing-self-hosted-runners.md
@@ -20,9 +20,7 @@ shortTitle: Remove self-hosted runners
> [!NOTE]
> * {% data reusables.actions.self-hosted-runner-removal-impact %}
> * {% data reusables.actions.self-hosted-runner-auto-removal %}
-{%- ifversion actions-single-use-tokens %}
> * {% data reusables.actions.jit-runner-removal %}
-{%- endif %}
To remove a self-hosted runner from a user repository you must be the repository owner. Organization owners{% ifversion custom-org-roles %} and users with the "Manage organization runners and runner groups" permission{% endif %} can remove a runner from a repository in the organization. {% ifversion custom-org-roles %}For more information about custom organization roles, see [AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles).{% endif %}
@@ -42,9 +40,7 @@ For information about how to remove a self-hosted runner with the REST API, see
> [!NOTE]
> * {% data reusables.actions.self-hosted-runner-removal-impact %}
> * {% data reusables.actions.self-hosted-runner-auto-removal %}
-{%- ifversion actions-single-use-tokens %}
> * {% data reusables.actions.jit-runner-removal %}
-{%- endif %}
To remove a self-hosted runner from an organization, you must be an organization owner{% ifversion custom-org-roles %} or have the "Manage organization runners and runner groups" permission{% endif %}. We recommend that you also have access to the self-hosted runner machine. For information about how to remove a self-hosted runner with the REST API, see [AUTOTITLE](/rest/actions/self-hosted-runners).
@@ -67,11 +63,8 @@ If you use {% data variables.product.prodname_ghe_cloud %}, you can also remove
> [!NOTE]
> * {% data reusables.actions.self-hosted-runner-removal-impact %}
> * {% data reusables.actions.self-hosted-runner-auto-removal %}
-{%- ifversion actions-single-use-tokens %}
> * {% data reusables.actions.jit-runner-removal %}
-{%- endif %}
-
To remove a self-hosted runner from an enterprise, you must be an enterprise owner. We recommend that you also have access to the self-hosted runner machine. For information about how to remove a self-hosted runner with the REST API, see the enterprise endpoints in the [{% data variables.product.prodname_actions %} REST API](/rest/actions/self-hosted-runners).
{% data reusables.actions.self-hosted-runner-reusing %}
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/managing-workflow-runs-and-deployments/managing-deployments/managing-environments-for-deployment.md b/content/actions/managing-workflow-runs-and-deployments/managing-deployments/managing-environments-for-deployment.md
index 9f9dddceaef9..948bbc9e58ed 100644
--- a/content/actions/managing-workflow-runs-and-deployments/managing-deployments/managing-environments-for-deployment.md
+++ b/content/actions/managing-workflow-runs-and-deployments/managing-deployments/managing-environments-for-deployment.md
@@ -28,7 +28,7 @@ Environments are used to describe a general deployment target like `production`,
You can configure environments with protection rules and secrets. When a workflow job references an environment, the job won't start until all of the environment's protection rules pass. A job also cannot access secrets that are defined in an environment until all the deployment protection rules pass.
-{% ifversion actions-break-glass %}Optionally, you can bypass an environment's protection rules and force all pending jobs referencing the environment to proceed. For more information, see [AUTOTITLE](/actions/managing-workflow-runs/reviewing-deployments#bypassing-environment-protection-rules).{% endif %}
+Optionally, you can bypass an environment's protection rules and force all pending jobs referencing the environment to proceed. For more information, see [AUTOTITLE](/actions/managing-workflow-runs/reviewing-deployments#bypassing-environment-protection-rules).
{% ifversion fpt %}
@@ -41,14 +41,12 @@ You can configure environments with protection rules and secrets. When a workflo
## Deployment protection rules
-Deployment protection rules require specific conditions to pass before a job referencing the environment can proceed. You can use deployment protection rules to require a manual approval, delay a job, or restrict the environment to certain branches.{% ifversion actions-custom-deployment-protection-rules-beta %} You can also create and implement custom protection rules powered by {% data variables.product.prodname_github_apps %} to use third-party systems to control deployments referencing environments configured on {% data variables.product.github %}.
+Deployment protection rules require specific conditions to pass before a job referencing the environment can proceed. You can use deployment protection rules to require a manual approval, delay a job, or restrict the environment to certain branches. You can also create and implement custom protection rules powered by {% data variables.product.prodname_github_apps %} to use third-party systems to control deployments referencing environments configured on {% data variables.product.github %}.
Third-party systems can be observability systems, change management systems, code quality systems, or other manual configurations that you use to assess readiness before deployments are safely rolled out to environments.
{% data reusables.actions.custom-deployment-protection-rules-limits %}
-{% endif %}
-
### Required reviewers
Use required reviewers to require a specific person or team to approve workflow jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed.
@@ -66,7 +64,7 @@ For more information on reviewing jobs that reference an environment with requir
### Wait timer
-Use a wait timer to delay a job for a specific amount of time after the job is initially triggered. The time (in minutes) must be an integer between 1 and 43,200 (30 days).
+Use a wait timer to delay a job for a specific amount of time after the job is initially triggered. The time (in minutes) must be an integer between 1 and 43,200 (30 days). Wait time will not count towards your billable time.
{% ifversion fpt %}
@@ -107,8 +105,6 @@ Use deployment branches{% ifversion deployment-protections-tag-patterns %} and t
{% endif %}
-{% ifversion actions-break-glass %}
-
### Allow administrators to bypass configured protection rules
By default, administrators can bypass the protection rules and force deployments to specific environments. For more information, see [AUTOTITLE](/actions/managing-workflow-runs/reviewing-deployments#bypassing-environment-protection-rules).
@@ -121,9 +117,6 @@ Alternatively, you can configure environments to disallow bypassing the protecti
> Allowing administrators to bypass protection rules is only available for public repositories for users on {% data variables.product.prodname_free_user %}, {% data variables.product.prodname_pro %}, and {% data variables.product.prodname_team %} plans.
{% endif %}
-{% endif %}
-
-{% ifversion actions-custom-deployment-protection-rules-beta %}
### Custom deployment protection rules
@@ -140,8 +133,6 @@ Once custom deployment protection rules have been created and installed on a rep
{% endif %}
-{% endif %}
-
## Environment secrets
Secrets stored in an environment are only available to workflow jobs that reference the environment. If the environment requires approval, a job cannot access environment secrets until one of the required reviewers approves it. For more information about secrets, see [AUTOTITLE](/actions/security-guides/using-secrets-in-github-actions).
@@ -195,17 +186,13 @@ Variables stored in an environment are only available to workflow jobs that refe
1. Select **Wait timer**.
1. Enter the number of minutes to wait.
1. Click **Save protection rules**.
-{%- ifversion actions-break-glass %}
1. Optionally, disallow bypassing configured protection rules. For more information, see [Allow administrators to bypass configured protection rules](#allow-administrators-to-bypass-configured-protection-rules).
1. Deselect **Allow administrators to bypass configured protection rules**.
1. Click **Save protection rules**.
-{%- endif %}
-{%- ifversion actions-custom-deployment-protection-rules-beta %}
1. Optionally, enable any custom deployment protection rules that have been created with {% data variables.product.prodname_github_apps %}. For more information, see [Custom deployment protection rules](#custom-deployment-protection-rules).
1. Select the custom protection rule you want to enable.
1. Click **Save protection rules**.
-{%- endif %}
-1. Optionally, specify what branches{% ifversion deployment-protections-tag-patterns %} and tags{% endif %} can deploy to this environment. For more information, see "[Deployment branches{% ifversion deployment-protections-tag-patterns %} and tags{% endif %}](/actions/deployment/targeting-different-environments/managing-environments-for-deployment#deployment-branches{% ifversion deployment-protections-tag-patterns %}-and-tags{% endif %})."
+1. Optionally, specify what branches{% ifversion deployment-protections-tag-patterns %} and tags{% endif %} can deploy to this environment. For more information, see [Deployment branches{% ifversion deployment-protections-tag-patterns %} and tags{% endif %}](/actions/deployment/targeting-different-environments/managing-environments-for-deployment#deployment-branches{% ifversion deployment-protections-tag-patterns %}-and-tags{% endif %}).
1. Select the desired option in the **Deployment branches** dropdown.
1. If you chose **Selected branches{% ifversion deployment-protections-tag-patterns %} and tags{% endif %}**, to add a new rule, click **Add deployment branch{% ifversion deployment-protections-tag-patterns %} or tag{% endif %} rule**
{% ifversion deployment-protections-tag-patterns %}1. In the "Ref type" dropdown menu, depending on what rule you want to apply, click **{% octicon "git-branch" aria-hidden="true" %} Branch** or **{% octicon "tag" aria-hidden="true" %} Tag**.{% endif %}
diff --git a/content/actions/managing-workflow-runs-and-deployments/managing-deployments/reviewing-deployments.md b/content/actions/managing-workflow-runs-and-deployments/managing-deployments/reviewing-deployments.md
index 4e84b29e1881..316be4d33d30 100644
--- a/content/actions/managing-workflow-runs-and-deployments/managing-deployments/reviewing-deployments.md
+++ b/content/actions/managing-workflow-runs-and-deployments/managing-deployments/reviewing-deployments.md
@@ -34,8 +34,6 @@ For more information about environments and required approvals, see [AUTOTITLE](
{% endif %}
-{% ifversion actions-break-glass %}
-
## Bypassing deployment protection rules
If you have configured deployment protection rules that control whether software can be deployed to an environment, you can bypass these rules and force all pending jobs referencing the environment to proceed.
@@ -50,4 +48,3 @@ If you have configured deployment protection rules that control whether software
1. In the pop-up window, select the environments for which you want to bypass deployment protection rules.
1. Under **Leave a comment**, enter a description for bypassing the deployment protection rules.
1. Click **I understand the consequences, start deploying**.
-{% endif %}
diff --git a/content/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/re-running-workflows-and-jobs.md b/content/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/re-running-workflows-and-jobs.md
index 4cb1f9346d8b..00306541e9ee 100644
--- a/content/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/re-running-workflows-and-jobs.md
+++ b/content/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/re-running-workflows-and-jobs.md
@@ -16,7 +16,7 @@ versions:
## About re-running workflows and jobs
-Re-running a workflow{% ifversion re-run-jobs %} or jobs in a workflow{% endif %} uses the same `GITHUB_SHA` (commit SHA) and `GITHUB_REF` (Git ref) of the original event that triggered the workflow run. The workflow will use the privileges of the actor who initially triggered the workflow, not the privileges of the actor who initiated the re-run. You can re-run a workflow{% ifversion re-run-jobs %} or jobs in a workflow{% endif %} for up to 30 days after the initial run.{% ifversion re-run-jobs %} You cannot re-run jobs in a workflow once its logs have passed their retention limits. For more information, see [AUTOTITLE](/actions/learn-github-actions/usage-limits-billing-and-administration#artifact-and-log-retention-policy).{% endif %}{% ifversion debug-reruns %} When you re-run a workflow or jobs in a workflow, you can enable debug logging for the re-run. This will enable runner diagnostic logging and step debug logging for the re-run. For more information about debug logging, see [AUTOTITLE](/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging).{% endif %}
+Re-running a workflow{% ifversion re-run-jobs %} or jobs in a workflow{% endif %} uses the same `GITHUB_SHA` (commit SHA) and `GITHUB_REF` (Git ref) of the original event that triggered the workflow run. The workflow will use the privileges of the actor who initially triggered the workflow, not the privileges of the actor who initiated the re-run. You can re-run a workflow{% ifversion re-run-jobs %} or jobs in a workflow{% endif %} for up to 30 days after the initial run.{% ifversion re-run-jobs %} You cannot re-run jobs in a workflow once its logs have passed their retention limits. For more information, see [AUTOTITLE](/actions/learn-github-actions/usage-limits-billing-and-administration#artifact-and-log-retention-policy).{% endif %} When you re-run a workflow or jobs in a workflow, you can enable debug logging for the re-run. This will enable runner diagnostic logging and step debug logging for the re-run. For more information about debug logging, see [AUTOTITLE](/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging).
## Re-running all the jobs in a workflow
@@ -46,15 +46,12 @@ To re-run a failed workflow run, use the `run rerun` subcommand. Replace `run-id
gh run rerun RUN_ID
```
-{% ifversion debug-reruns %}
{% data reusables.actions.enable-debug-logging-cli %}
```shell
gh run rerun RUN_ID --debug
```
-{% endif %}
-
To view the progress of the workflow run, use the `run watch` subcommand and select the run from the interactive list.
```shell
@@ -88,14 +85,12 @@ To re-run failed jobs in a workflow run, use the `run rerun` subcommand with the
gh run rerun RUN_ID --failed
```
-{% ifversion debug-reruns %}
{% data reusables.actions.enable-debug-logging-cli %}
```shell
gh run rerun RUN_ID --failed --debug
```
-{% endif %}
{% endcli %}
## Re-running a specific job in a workflow
@@ -122,14 +117,12 @@ To re-run a specific job in a workflow run, use the `run rerun` subcommand with
gh run rerun --job JOB_ID
```
-{% ifversion debug-reruns %}
{% data reusables.actions.enable-debug-logging-cli %}
```shell
gh run rerun --job JOB_ID --debug
```
-{% endif %}
{% endcli %}
{% endif %}
diff --git a/content/actions/migrating-to-github-actions/manually-migrating-to-github-actions/migrating-from-travis-ci-to-github-actions.md b/content/actions/migrating-to-github-actions/manually-migrating-to-github-actions/migrating-from-travis-ci-to-github-actions.md
index fdca1ee9a597..e37b7d91df3f 100644
--- a/content/actions/migrating-to-github-actions/manually-migrating-to-github-actions/migrating-from-travis-ci-to-github-actions.md
+++ b/content/actions/migrating-to-github-actions/manually-migrating-to-github-actions/migrating-from-travis-ci-to-github-actions.md
@@ -183,13 +183,7 @@ The concurrent jobs and workflow execution times in {% data variables.product.pr
### Using different languages in {% data variables.product.prodname_actions %}
-When working with different languages in {% data variables.product.prodname_actions %}, you can create a step in your job to set up your language dependencies. For more information about working with a particular language, see the specific guide:
-* [Building and testing Node.js](/actions/automating-builds-and-tests/building-and-testing-nodejs)
-* [Building and testing Python](/actions/automating-builds-and-tests/building-and-testing-python)
-* [Building and testing PowerShell](/actions/automating-builds-and-tests/building-and-testing-powershell)
-* [Building and testing Java with Maven](/actions/automating-builds-and-tests/building-and-testing-java-with-maven)
-* [Building and testing Java with Gradle](/actions/automating-builds-and-tests/building-and-testing-java-with-gradle)
-* [Building and testing Java with Ant](/actions/automating-builds-and-tests/building-and-testing-java-with-ant)
+When working with different languages in {% data variables.product.prodname_actions %}, you can create a step in your job to set up your language dependencies. For more information about working with a particular language, see [AUTOTITLE](/actions/use-cases-and-examples/building-and-testing).
## Executing scripts
diff --git a/content/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/enabling-debug-logging.md b/content/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/enabling-debug-logging.md
index e954e71da37c..955a4ade7ed9 100644
--- a/content/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/enabling-debug-logging.md
+++ b/content/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/enabling-debug-logging.md
@@ -21,12 +21,8 @@ These extra logs are enabled by setting secrets or variables in the repository c
For more information on setting secrets and variables, see [AUTOTITLE](/actions/security-guides/using-secrets-in-github-actions) and [AUTOTITLE](/actions/learn-github-actions/variables).
-{% ifversion debug-reruns %}
-
Additionally, anyone who has access to run a workflow can enable runner diagnostic logging and step debug logging for a workflow re-run. For more information, see [AUTOTITLE](/actions/managing-workflow-runs/re-running-workflows-and-jobs).
- {% endif %}
-
## Enabling runner diagnostic logging
Runner diagnostic logging provides additional log files that contain information about how a runner is executing a job. Two extra log files are added to the log archive:
diff --git a/content/actions/security-for-github-actions/security-guides/automatic-token-authentication.md b/content/actions/security-for-github-actions/security-guides/automatic-token-authentication.md
index bc72270705d4..0f105441a286 100644
--- a/content/actions/security-for-github-actions/security-guides/automatic-token-authentication.md
+++ b/content/actions/security-for-github-actions/security-guides/automatic-token-authentication.md
@@ -92,7 +92,7 @@ The following table shows the permissions granted to the `GITHUB_TOKEN` by defau
| {% endif %} |
| issues | read/write | none | read |
| metadata | read | read | read |
-| packages | read/write | {% ifversion actions-default-workflow-permissions-restrictive %}read{% else %}none{% endif %} | read |
+| packages | read/write | read | read |
| pages | read/write | none | read |
| pull-requests | read/write | none | read |
| repository-projects | read/write | none | read |
diff --git a/content/actions/security-for-github-actions/security-guides/security-hardening-for-github-actions.md b/content/actions/security-for-github-actions/security-guides/security-hardening-for-github-actions.md
index 72baa66deb2e..75be3eb699f8 100644
--- a/content/actions/security-for-github-actions/security-guides/security-hardening-for-github-actions.md
+++ b/content/actions/security-for-github-actions/security-guides/security-hardening-for-github-actions.md
@@ -352,8 +352,6 @@ You should also consider the environment of the self-hosted runner machines:
Some customers might attempt to partially mitigate these risks by implementing systems that automatically destroy the self-hosted runner after each job execution. However, this approach might not be as effective as intended, as there is no way to guarantee that a self-hosted runner only runs one job. Some jobs will use secrets as command-line arguments which can be seen by another job running on the same runner, such as `ps x -w`. This can lead to secret leakages.
-{% ifversion actions-single-use-tokens %}
-
### Using just-in-time runners
To improve runner registration security, you can use the REST API to create ephemeral, just-in-time (JIT) runners. These self-hosted runners perform at most one job before being automatically removed from the repository, organization, or enterprise. For more information about configuring JIT runners, see [AUTOTITLE](/rest/actions/self-hosted-runners#create-configuration-for-a-just-in-time-runner-for-an-organization).
@@ -367,8 +365,6 @@ Once you have the config file from the REST API response, you can pass it to the
./run.sh --jitconfig ${encoded_jit_config}
```
-{% endif %}
-
### Planning your management strategy for self-hosted runners
A self-hosted runner can be added to various levels in your {% data variables.product.prodname_dotcom %} hierarchy: the enterprise, organization, or repository level. This placement determines who will be able to manage the runner:
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/security-for-github-actions/using-artifact-attestations/enforcing-artifact-attestations-with-a-kubernetes-admission-controller.md b/content/actions/security-for-github-actions/using-artifact-attestations/enforcing-artifact-attestations-with-a-kubernetes-admission-controller.md
index b34148e5cb28..01a913b94008 100644
--- a/content/actions/security-for-github-actions/using-artifact-attestations/enforcing-artifact-attestations-with-a-kubernetes-admission-controller.md
+++ b/content/actions/security-for-github-actions/using-artifact-attestations/enforcing-artifact-attestations-with-a-kubernetes-admission-controller.md
@@ -9,6 +9,8 @@ redirect_from:
- /actions/security-guides/enforcing-artifact-attestations-with-a-kubernetes-admission-controller
---
+>[!NOTE] Before proceeding, ensure you have enabled build provenance for container images, including setting the `push-to-registry` attribute in the [`attest-build-provenance` action](https://github.com/actions/attest-build-provenance) as documented in [Generating build provenance for container images](/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds#generating-build-provenance-for-container-images). This is required for the Policy Controller to verify the attestation.
+
## About Kubernetes admission controller
[Artifact attestations](/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds) enable you to create unfalsifiable provenance and integrity guarantees for the software you build. In turn, people who consume your software can verify where and how your software was built.
@@ -19,6 +21,12 @@ Using the open source [Sigstore Policy Controller](https://docs.sigstore.dev/pol
To [install the controller](#getting-started-with-kubernetes-admission-controller), we offer [two Helm charts](https://github.com/github/artifact-attestations-helm-charts): one for deploying the Sigstore Policy Controller, and another for loading the GitHub trust root and a default policy.
+### About image verification
+
+When the Policy Controller is installed, it will intercept all image pull requests and verify the attestation for the image. The attestation must be stored in the image registry as an [OCI attached artifact](https://oras.land/docs/concepts/reftypes/) containing a [Sigstore Bundle](https://docs.sigstore.dev/about/bundle/) which contains the attestation and cryptographic material (e.g. certificates and signatures) used to verify the attestation. A verification process is then performed that ensures the image was built with the specified build provenance and matches any policies enabled by the cluster administrator.
+
+In order for an image to be verifiable, it must have a valid provenance attestation in the registry, which can be done by enabling the `push-to-registry: true` attribute in the `actions/attest-build-provenance` action. See [Generating build provenance for container images](/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds#generating-build-provenance-for-container-images) for more details on how to generate attestations for container images.
+
### About trust roots and policies
The Sigstore Policy Controller is primarily configured with trust roots and policies, represented by the Custom Resources `TrustRoot` and `ClusterImagePolicy`. A `TrustRoot` represents a trusted distribution channel for the public key material used to verify attestations. A `ClusterImagePolicy` represents a policy for enforcing attestations on images.
@@ -47,7 +55,7 @@ First, install the Helm chart that deploys the Sigstore Policy Controller:
helm upgrade policy-controller --install --atomic \
--create-namespace --namespace artifact-attestations \
oci://ghcr.io/github/artifact-attestations-helm-charts/policy-controller \
- --version v0.10.0-github9
+ --version v0.12.0-github10
```
This installs the Policy Controller into the `artifact-attestations` namespace. At this point, no policies have been configured, and it will not enforce any attestations.
@@ -131,7 +139,7 @@ To see the full set of options you may configure with the Helm chart, you can ru
For policy controller options:
```bash copy
-helm show values oci://ghcr.io/github/artifact-attestations-helm-charts/policy-controller --version v0.10.0-github9
+helm show values oci://ghcr.io/github/artifact-attestations-helm-charts/policy-controller --version v0.12.0-github10
```
For trust policy options:
diff --git a/content/actions/sharing-automations/creating-actions/creating-a-composite-action.md b/content/actions/sharing-automations/creating-actions/creating-a-composite-action.md
index ed1f8397c398..faa79ccf0324 100644
--- a/content/actions/sharing-automations/creating-actions/creating-a-composite-action.md
+++ b/content/actions/sharing-automations/creating-actions/creating-a-composite-action.md
@@ -155,7 +155,7 @@ Before you begin, you'll create a repository on {% data variables.product.github
The following workflow code uses the completed hello world action that you made in [AUTOTITLE](/actions/creating-actions/creating-a-composite-action#creating-an-action-metadata-file).
-Copy the workflow code into a `.github/workflows/main.yml` file in another repository, replacing `actions` and `SHA` with the repository owner and the SHA of the commit you want to use, respectively. You can also replace the `who-to-greet` input with your name.
+Copy the workflow code into a `.github/workflows/main.yml` file in another repository, replacing `OWNER` and `SHA` with the repository owner and the SHA of the commit you want to use, respectively. You can also replace the `who-to-greet` input with your name.
```yaml copy
on: [push]
diff --git a/content/actions/sharing-automations/required-workflows.md b/content/actions/sharing-automations/required-workflows.md
index c443c5dbbc76..b8580826f40e 100644
--- a/content/actions/sharing-automations/required-workflows.md
+++ b/content/actions/sharing-automations/required-workflows.md
@@ -16,7 +16,7 @@ redirect_from:
## Overview
-You can configure a workflow that must run in repositories in an organization for all pull requests opened against {% ifversion actions-required-workflow-improvements %}any target branch{% else %}the default branch{% endif %}. Required workflows allow you to implement organization-wide CI/CD policies that apply to current and future repositories. A required workflow is triggered by {% ifversion actions-required-workflow-improvements %}`pull_request` and `pull_request_target` default events{% else %}pull request events{% endif %} and appears as a required status check, which blocks the ability to merge the pull request until the required workflow succeeds.
+You can configure a workflow that must run in repositories in an organization for all pull requests opened against any target branch. Required workflows allow you to implement organization-wide CI/CD policies that apply to current and future repositories. A required workflow is triggered by `pull_request` and `pull_request_target` default events and appears as a required status check, which blocks the ability to merge the pull request until the required workflow succeeds.
Required workflows are not the same as reusable workflows. Reusable workflows can be called by another workflow. Required workflows are enforced on repositories by an organization owner.
diff --git a/content/actions/sharing-automations/reusing-workflows.md b/content/actions/sharing-automations/reusing-workflows.md
index 6832eb80beef..ed96fc35f5ef 100644
--- a/content/actions/sharing-automations/reusing-workflows.md
+++ b/content/actions/sharing-automations/reusing-workflows.md
@@ -104,7 +104,6 @@ Called workflows that are owned by the same user or organization{% ifversion ghe
* You can call a maximum of 20 unique reusable workflows from a single workflow file.
{% endif %}
{% ifversion private-actions %}{% else %}- Reusable workflows stored within a private repository can only be used by workflows within the same repository.{% endif %}
-{% ifversion actions-reusable-workflow-matrix %}{% else %}* The `strategy` property is not supported in any job that calls a reusable workflow.{% endif %}
* Any environment variables set in an `env` context defined at the workflow level in the caller workflow are not propagated to the called workflow. For more information, see [AUTOTITLE](/actions/learn-github-actions/variables) and [AUTOTITLE](/actions/learn-github-actions/contexts#env-context).
* Similarly, environment variables set in the `env` context, defined in the called workflow, are not accessible in the `env` context of the caller workflow. Instead, you must use outputs of the reusable workflow. For more information, see [Using outputs from a reusable workflow](#using-outputs-from-a-reusable-workflow).
* To reuse variables in multiple workflows, set them at the organization, repository, or environment levels and reference them using the `vars` context. For more information see [AUTOTITLE](/actions/learn-github-actions/variables) and [AUTOTITLE](/actions/learn-github-actions/contexts#vars-context).
@@ -142,16 +141,11 @@ You can define inputs and secrets, which can be passed from the caller workflow
{% endraw %}
For details of the syntax for defining inputs and secrets, see [`on.workflow_call.inputs`](/actions/using-workflows/workflow-syntax-for-github-actions#onworkflow_callinputs) and [`on.workflow_call.secrets`](/actions/using-workflows/workflow-syntax-for-github-actions#onworkflow_callsecrets).
- {% ifversion actions-inherit-secrets-reusable-workflows %}
1. In the reusable workflow, reference the input or secret that you defined in the `on` key in the previous step.
> [!NOTE]
> If the secrets are inherited by using `secrets: inherit` in the calling workflow, you can reference them even if they are not explicitly defined in the `on` key. For more information, see [AUTOTITLE](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idsecretsinherit).
- {%- else %}
-1. In the reusable workflow, reference the input or secret that you defined in the `on` key in the previous step.
- {%- endif %}
-
{% raw %}
```yaml
@@ -225,8 +219,6 @@ You can call multiple workflows, referencing each in a separate job.
{% data reusables.actions.pass-inputs-to-reusable-workflows %}
-{% ifversion actions-reusable-workflow-matrix %}
-
### Using a matrix strategy with a reusable workflow
Jobs using the matrix strategy can call a reusable workflow.
@@ -249,7 +241,6 @@ jobs:
```
{% endraw %}
-{% endif %}
### Supported keywords for jobs that call a reusable workflow
@@ -261,12 +252,8 @@ When you call a reusable workflow, you can only use the following keywords in th
* [`jobs..with.`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idwithinput_id)
* [`jobs..secrets`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idsecrets)
* [`jobs..secrets.`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idsecretssecret_id)
-{%- ifversion actions-inherit-secrets-reusable-workflows %}
* [`jobs..secrets.inherit`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idsecretsinherit)
-{%- endif %}
-{%- ifversion actions-reusable-workflow-matrix %}
* [`jobs..strategy`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstrategy)
-{%- endif %}
* [`jobs..needs`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idneeds)
* [`jobs..if`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idif)
* [`jobs..concurrency`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idconcurrency)
@@ -368,10 +355,10 @@ For information on how to use the API to determine which workflow files were inv
## Using outputs from a reusable workflow
-A reusable workflow may generate data that you want to use in the caller workflow. To use these outputs, you must specify them as the outputs of the reusable workflow.{% ifversion actions-reusable-workflow-matrix %}
+A reusable workflow may generate data that you want to use in the caller workflow. To use these outputs, you must specify them as the outputs of the reusable workflow.
If a reusable workflow that sets an output is executed with a matrix strategy, the output will be the output set by the last successful completing reusable workflow of the matrix which actually sets a value.
-That means if the last successful completing reusable workflow sets an empty string for its output, and the second last successful completing reusable workflow sets an actual value for its output, the output will contain the value of the second last completing reusable workflow.{% endif %}
+That means if the last successful completing reusable workflow sets an empty string for its output, and the second last successful completing reusable workflow sets an actual value for its output, the output will contain the value of the second last completing reusable workflow.
The following reusable workflow has a single job containing two steps. In each of these steps we set a single word as the output: "hello" and "world." In the `outputs` section of the job, we map these step outputs to job outputs called: `output1` and `output2`. In the `on.workflow_call.outputs` section we then define two outputs for the workflow itself, one called `firstword` which we map to `output1`, and one called `secondword` which we map to `output2`.
diff --git a/content/actions/use-cases-and-examples/building-and-testing/building-and-testing-go.md b/content/actions/use-cases-and-examples/building-and-testing/building-and-testing-go.md
index 60b99176a879..031d0655569c 100644
--- a/content/actions/use-cases-and-examples/building-and-testing/building-and-testing-go.md
+++ b/content/actions/use-cases-and-examples/building-and-testing/building-and-testing-go.md
@@ -148,9 +148,8 @@ You can use `go get` to install dependencies:
### Caching dependencies
-You can cache and restore dependencies using the [`setup-go` action](https://github.com/actions/setup-go). By default, caching is {% ifversion actions-setup-go-default-cache-enabled %}enabled when using the `setup-go` action.{% else %}disabled, but you can set the `cache` parameter to `true` to enable it.{% endif %}
+You can cache and restore dependencies using the [`setup-go` action](https://github.com/actions/setup-go). By default, caching is enabled when using the `setup-go` action.
-{% ifversion actions-setup-go-default-cache-enabled %}
The `setup-go` action searches for the dependency file, `go.sum`, in the repository root and uses the hash of the dependency file as a part of the cache key.
You can use the `cache-dependency-path` parameter for cases when multiple dependency files are used, or when they are located in different subdirectories.
@@ -163,30 +162,6 @@ You can use the `cache-dependency-path` parameter for cases when multiple depend
cache-dependency-path: subdir/go.sum
```
-{% else %}
-
-When caching is enabled, the `setup-go` action searches for the dependency file, `go.sum`, in the repository root and uses the hash of the dependency file as a part of the cache key.
-
-```yaml copy
- - name: Setup Go
- uses: {% data reusables.actions.action-setup-go %}
- with:
- go-version: '1.21.x'
- cache: true
-```
-
-Alternatively, you can use the `cache-dependency-path` parameter for cases when multiple dependency files are used, or when they are located in different subdirectories.
-
-```yaml copy
- - uses: {% data reusables.actions.action-setup-go %}
- with:
- go-version: '1.17'
- cache: true
- cache-dependency-path: subdir/go.sum
-```
-
-{% endif %}
-
If you have a custom requirement or need finer controls for caching, you can use the [`cache` action](https://github.com/marketplace/actions/cache). For more information, see [AUTOTITLE](/actions/using-workflows/caching-dependencies-to-speed-up-workflows).
## Building and testing your code
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/choosing-what-your-workflow-does/caching-dependencies-to-speed-up-workflows.md b/content/actions/writing-workflows/choosing-what-your-workflow-does/caching-dependencies-to-speed-up-workflows.md
index c12de102babf..426c578c9525 100644
--- a/content/actions/writing-workflows/choosing-what-your-workflow-does/caching-dependencies-to-speed-up-workflows.md
+++ b/content/actions/writing-workflows/choosing-what-your-workflow-does/caching-dependencies-to-speed-up-workflows.md
@@ -257,22 +257,14 @@ For example, if a pull request contains a `feature` branch and targets the defau
## Usage limits and eviction policy
-{% data variables.product.prodname_dotcom %} will remove any cache entries that have not been accessed in over 7 days. There is no limit on the number of caches you can store, but the total size of all caches in a repository is limited{% ifversion actions-cache-policy-apis %}. By default, the limit is 10 GB per repository, but this limit might be different depending on policies set by your enterprise owners or repository administrators.{% else %} to 10 GB.{% endif %} {% data reusables.actions.cache-eviction-policy %}
+{% data variables.product.prodname_dotcom %} will remove any cache entries that have not been accessed in over 7 days. There is no limit on the number of caches you can store, but the total size of all caches in a repository is limited{% ifversion ghes %}. By default, the limit is 10 GB per repository, but this limit might be different depending on policies set by your enterprise owners or repository administrators.{% else %} to 10 GB.{% endif %} {% data reusables.actions.cache-eviction-policy %}
-{% data reusables.actions.cache-eviction-process %} {% ifversion actions-cache-ui %}The cache eviction process may cause cache thrashing, where caches are created and deleted at a high frequency. To reduce this, you can review the caches for a repository and take corrective steps, such as removing caching from specific workflows. For more information, see [Managing caches](#managing-caches).{% endif %}{% ifversion actions-cache-admin-ui %} You can also increase the cache size limit for a repository. For more information, see [AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#configuring-cache-storage-for-a-repository).
-
-{% elsif actions-cache-policy-apis %}
-
-For information on changing the policies for the repository cache size limit, see [AUTOTITLE](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-cache-storage-in-your-enterprise) and [AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#configuring-cache-storage-for-a-repository).
+{% data reusables.actions.cache-eviction-process %} The cache eviction process may cause cache thrashing, where caches are created and deleted at a high frequency. To reduce this, you can review the caches for a repository and take corrective steps, such as removing caching from specific workflows. For more information, see [Managing caches](#managing-caches).{% ifversion ghes %} You can also increase the cache size limit for a repository. For more information, see [AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#configuring-cache-storage-for-a-repository).
{% endif %}
-{% ifversion actions-cache-management %}
-
## Managing caches
-{% ifversion actions-cache-ui %}
-
To manage caches created from your workflows, you can:
* View a list of all cache entries for a repository.
@@ -289,16 +281,6 @@ There are multiple ways to manage caches for your repositories:
> [!NOTE]
> If you are doing this manually, ensure you have version 2.32.0 or higher of the CLI installed.
-{% else %}
-
-You can use the {% data variables.product.product_name %} REST API to manage your caches. {% ifversion actions-cache-list-delete-apis %}You can use the API to list and delete cache entries, and see your cache usage.{% elsif actions-cache-management %}At present, you can use the API to see your cache usage, with more functionality expected in future updates.{% endif %} For more information, see [AUTOTITLE](/rest/actions/cache).
-
-You can also install a {% data variables.product.prodname_cli %} extension to manage your caches from the command line. For more information about the extension, see [the extension documentation](https://github.com/actions/gh-actions-cache#readme). For more information about {% data variables.product.prodname_cli %} extensions, see [AUTOTITLE](/github-cli/github-cli/using-github-cli-extensions).
-
-{% endif %}
-
-{% ifversion actions-cache-ui %}
-
### Viewing cache entries
You can use the web interface to view a list of cache entries for a repository. In the cache list, you can see how much disk space each cache is using, when the cache was created, and when the cache was last used.
@@ -324,12 +306,6 @@ Users with `write` access to a repository can use the {% data variables.product.
![Screenshot of the list of cache entries. A trash can icon, used to delete a cache, is highlighted with a dark orange outline.](/assets/images/help/repository/actions-cache-delete.png)
-{% endif %}
-
-{% endif %}
-
-{% ifversion actions-cache-list-delete-apis %}
-
### Force deleting cache entries
Caches have branch scope restrictions in place, which means some caches have limited usage options. For more information on cache scope restrictions, see [Restrictions for accessing a cache](#restrictions-for-accessing-a-cache), earlier in this article. If caches limited to a specific branch are using a lot of storage quota, it may cause caches from the `default` branch to be created and deleted at a high frequency.
@@ -371,5 +347,3 @@ jobs:
```
Alternatively, you can use the API to automatically list or delete all caches on your own cadence. For more information, see [AUTOTITLE](/rest/actions/cache#about-the-cache-in-github-actions).
-
-{% endif %}
diff --git a/content/actions/writing-workflows/choosing-what-your-workflow-does/control-the-concurrency-of-workflows-and-jobs.md b/content/actions/writing-workflows/choosing-what-your-workflow-does/control-the-concurrency-of-workflows-and-jobs.md
index 2ea67b43254c..05f8a2c4cbcd 100644
--- a/content/actions/writing-workflows/choosing-what-your-workflow-does/control-the-concurrency-of-workflows-and-jobs.md
+++ b/content/actions/writing-workflows/choosing-what-your-workflow-does/control-the-concurrency-of-workflows-and-jobs.md
@@ -9,6 +9,7 @@ versions:
redirect_from:
- /actions/using-jobs/using-concurrency
- /actions/writing-workflows/choosing-what-your-workflow-does/using-concurrency
+ - /early-access/actions/running-additional-jobs-in-github-actions
---
{% data reusables.actions.enterprise-github-hosted-runners %}
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/administering-your-instance/administering-your-instance-from-the-command-line/accessing-the-administrative-shell-ssh.md b/content/admin/administering-your-instance/administering-your-instance-from-the-command-line/accessing-the-administrative-shell-ssh.md
index 79413075d81b..59efbdced6a7 100644
--- a/content/admin/administering-your-instance/administering-your-instance-from-the-command-line/accessing-the-administrative-shell-ssh.md
+++ b/content/admin/administering-your-instance/administering-your-instance-from-the-command-line/accessing-the-administrative-shell-ssh.md
@@ -66,7 +66,7 @@ Host HOSTNAME
## Accessing the administrative shell using the local console
-In an emergency situation, for example if SSH is unavailable, you can access the administrative shell locally. Sign in as the `admin` user and use the password established during initial setup of {% data variables.product.prodname_ghe_server %}.
+In an emergency situation, for example if SSH is unavailable, you can access the administrative shell locally if your hypervisor provides console access. Press `Alt` + `F2` to switch to an interactive prompt, then sign in as the `admin` user and use the password established during initial setup of {% data variables.product.prodname_ghe_server %}.
## Access limitations for the administrative shell
diff --git a/content/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities.md b/content/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities.md
index f08d536e6dc1..f4950e63333f 100644
--- a/content/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities.md
+++ b/content/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities.md
@@ -282,7 +282,7 @@ ghe-org-admin-promote -a
### ghe-reactivate-admin-login
-Use this command to immediately unlock the {% data variables.enterprise.management_console %} after {% ifversion enterprise-authentication-rate-limits %}an account lockout. To configure authentication policies for {% data variables.location.product_location %}, see [AUTOTITLE](/admin/configuration/configuring-your-enterprise/configuring-rate-limits#configuring-authentication-policy-rate-limits).{% else %}10 failed login attempts in the span of 10 minutes.{% endif %}
+Use this command to immediately unlock the {% data variables.enterprise.management_console %} after an account lockout. To configure authentication policies for {% data variables.location.product_location %}, see [AUTOTITLE](/admin/configuration/configuring-your-enterprise/configuring-rate-limits#configuring-authentication-policy-rate-limits).
```shell
ghe-reactivate-admin-login
@@ -376,7 +376,7 @@ inactive
### ghe-set-password
-This utility allows you to set a new {% ifversion enterprise-management-console-multi-user-auth %}root site administrator {% endif %}password for authentication to the {% data variables.enterprise.management_console %}. For more information, see [AUTOTITLE](/admin/administering-your-instance/administering-your-instance-from-the-web-ui/managing-access-to-the-management-console).
+This utility allows you to set a new root site administrator password for authentication to the {% data variables.enterprise.management_console %}. For more information, see [AUTOTITLE](/admin/administering-your-instance/administering-your-instance-from-the-web-ui/managing-access-to-the-management-console).
```shell
ghe-set-password
@@ -562,8 +562,6 @@ ghe-webhook-logs -g DELIVERY_GUID
## Clustering
-{% ifversion cluster-rebalancing %}
-
### ghe-cluster-balance
This utility allows you to enforce an even distribution of allocations across your cluster nodes by checking the status of your cluster's allocations, then rebalancing problematic allocations. For more information, see [AUTOTITLE](/admin/enterprise-management/configuring-clustering/rebalancing-cluster-workloads).
@@ -608,8 +606,6 @@ To display a short description of the utility and any valid subcommands:
ghe-cluster-balance help
```
-{% endif %}
-
### ghe-cluster-maintenance
With the `ghe-cluster-maintenance` utility, you can set or unset maintenance mode for every node in a cluster.
@@ -621,12 +617,10 @@ $ ghe-cluster-maintenance -q
# Queries the current mode
$ ghe-cluster-maintenance -s
# Sets maintenance mode
-{%- ifversion custom-maintenance-mode-message %}
$ ghe-cluster-maintenance -s "MESSAGE"
# Sets maintenance mode with a custom message
$ ghe-cluster-maintenance -m "MESSAGE"
# Updates the custom message
-{%- endif %}
$ ghe-cluster-maintenance -u
# Unsets maintenance mode
```
@@ -674,7 +668,7 @@ ssh -p 122 admin@HOSTNAME -- 'ghe-cluster-support-bundle -o' > cluster-support-b
To create a standard bundle including data from the last 2 days:
```shell
-ssh -p 122 admin@HOSTNAME -- "ghe-cluster-support-bundle -p {% ifversion bundle-cli-syntax-no-quotes %}2days {% endif %} -o" > support-bundle.tgz
+ssh -p 122 admin@HOSTNAME -- "ghe-cluster-support-bundle -p 2days -o" > support-bundle.tgz
```
To create an extended bundle including data from the last 8 days:
@@ -1295,7 +1289,7 @@ ssh -p 122 admin@HOSTNAME -- 'ghe-support-bundle -o' > support-bundle.tgz
To create a standard bundle including data from the last 2 days:
```shell
-ssh -p 122 admin@HOSTNAME -- "ghe-support-bundle -p {% ifversion bundle-cli-syntax-no-quotes %}2days {% endif %} -o" > support-bundle.tgz
+ssh -p 122 admin@HOSTNAME -- "ghe-support-bundle -p 2days -o" > support-bundle.tgz
```
To create an extended bundle including data from the last 8 days:
diff --git a/content/admin/administering-your-instance/administering-your-instance-from-the-web-ui/about-the-management-console.md b/content/admin/administering-your-instance/administering-your-instance-from-the-web-ui/about-the-management-console.md
index 6e446b66e8cb..6726adc88574 100644
--- a/content/admin/administering-your-instance/administering-your-instance-from-the-web-ui/about-the-management-console.md
+++ b/content/admin/administering-your-instance/administering-your-instance-from-the-web-ui/about-the-management-console.md
@@ -20,7 +20,7 @@ The {% data variables.enterprise.management_console %} allows you to manage the
You can always reach the {% data variables.enterprise.management_console %} using {% data variables.location.product_location %}'s IP address, even when the instance is in maintenance mode, or there is a critical application failure or hostname or SSL misconfiguration.
-To access the {% data variables.enterprise.management_console %}, {% ifversion enterprise-management-console-multi-user-auth %}you can use the root site administrator password established during initial setup of {% data variables.location.product_location %} or log in as a {% data variables.enterprise.management_console %} user. For more information, see [AUTOTITLE](/admin/configuration/administering-your-instance-from-the-management-console/accessing-the-management-console). {% else %}you must use the administrator password established during initial setup of {% data variables.location.product_location %}. {% endif %}You must also be able to connect to the virtual machine host on port 8443. If you're having trouble reaching the {% data variables.enterprise.management_console %}, please check intermediate firewall and security group configurations.
+To access the {% data variables.enterprise.management_console %}, you can use the root site administrator password established during initial setup of {% data variables.location.product_location %} or log in as a {% data variables.enterprise.management_console %} user. For more information, see [AUTOTITLE](/admin/configuration/administering-your-instance-from-the-management-console/accessing-the-management-console). You must also be able to connect to the virtual machine host on port 8443. If you're having trouble reaching the {% data variables.enterprise.management_console %}, please check intermediate firewall and security group configurations.
The {% data variables.enterprise.management_console %} password hash is stored in `/data/user/common/secrets.conf`. If high availability or clustering is configured, the file is automatically synced from the primary node to any additional nodes. Any change to the primary's password will automatically be replicated to all of the instance's nodes. For more information about high availability, see [AUTOTITLE](/admin/enterprise-management/configuring-high-availability/about-high-availability-configuration).
@@ -35,10 +35,10 @@ When someone performs an action in the {% data variables.enterprise.management_c
In the {% data variables.enterprise.management_console %}, you can perform administrative tasks for {% data variables.location.product_location %}, including:
* **Initial setup:** Walk through the initial setup process when first launching {% data variables.location.product_location %} by visiting {% data variables.location.product_location %}'s IP address in your browser.
-{%- ifversion enterprise-management-console-multi-user-auth %}
+
* **Identity and access management:** Improve the security of {% data variables.location.product_location %} by creating dedicated user accounts for the {% data variables.enterprise.management_console %}. {% ifversion management-console-editor %}The root site administrator account can control these user accounts' access by assigning either the editor or operator role. {% endif %}For more information, see [AUTOTITLE](/admin/configuration/administering-your-instance-from-the-management-console/managing-access-to-the-management-console).{% ifversion management-console-editor %}
{% data reusables.enterprise.editor-role-note %}{% endif %}
-{%- endif %}
+
* **Configuring authentication policies for the {% data variables.enterprise.management_console %}:** Set rate limits for login attempts, and the lockout duration if someone exceeds the rate limit. For more information, see [AUTOTITLE](/admin/configuration/administering-your-instance-from-the-management-console/managing-access-to-the-management-console#configuring-rate-limits-for-authentication-to-the-management-console).
* **Configuring basic settings for your instance:** Configure DNS, hostname, SSL, user authentication, email, monitoring services, and log forwarding on the Settings page.
* **Scheduling maintenance windows:** Take {% data variables.location.product_location %} offline while performing maintenance using the {% data variables.enterprise.management_console %} or administrative shell.
diff --git a/content/admin/administering-your-instance/administering-your-instance-from-the-web-ui/managing-access-to-the-management-console.md b/content/admin/administering-your-instance/administering-your-instance-from-the-web-ui/managing-access-to-the-management-console.md
index 605b41f3d099..a459e558a786 100644
--- a/content/admin/administering-your-instance/administering-your-instance-from-the-web-ui/managing-access-to-the-management-console.md
+++ b/content/admin/administering-your-instance/administering-your-instance-from-the-web-ui/managing-access-to-the-management-console.md
@@ -1,7 +1,7 @@
---
title: Managing access to the Management Console
shortTitle: Manage Management Console access
-intro: '{% ifversion enterprise-management-console-multi-user-auth %}You can increase the security of {% data variables.location.product_location %} by creating or deleting {% data variables.enterprise.management_console %} users. As the root site administrator, you {% else %}You {% endif %}can access the {% data variables.enterprise.management_console %} as well as configure {% data variables.enterprise.management_console %} authentication rate limits.'
+intro: 'You can increase the security of {% data variables.location.product_location %} by creating or deleting {% data variables.enterprise.management_console %} users. As the root site administrator, you can access the {% data variables.enterprise.management_console %} as well as configure {% data variables.enterprise.management_console %} authentication rate limits.'
redirect_from:
- /admin/configuration/administering-your-instance-from-the-management-console/managing-access-to-the-management-console
versions:
@@ -18,8 +18,6 @@ topics:
{% ifversion ghes-manage-api-cli-extension %}You can also use the `gh es` {% data variables.product.prodname_cli %} extension to manage the root site administrator password, which controls access to the Management Console. For more information, see the [GH ES CLI usage documentation](https://github.com/github/gh-es/blob/main/USAGE.md#gh-es-access-set-password) and [AUTOTITLE](/admin/administering-your-instance/administering-your-instance-from-the-command-line/administering-your-instance-using-the-github-cli).{% endif %}
-{% ifversion enterprise-management-console-multi-user-auth %}
-
## Types of {% data variables.enterprise.management_console %} accounts
There are two types of user accounts for the {% data variables.enterprise.management_console %} on a {% data variables.product.product_name %} instance. The root site administrator account authenticates with a password established during the initial setup of {% data variables.location.product_location %}.
@@ -72,10 +70,6 @@ If you have not configured email notifications for {% data variables.location.pr
1. To copy the invitation link, click {% octicon "link" aria-label="Copy invitation link" %} on any {% data variables.enterprise.management_console %} user account.
1. Send the invitation link to the {% data variables.enterprise.management_console %} user. The invitation link will lead the user through the final account setup steps.
-{% endif %}
-
-{% ifversion enterprise-authentication-rate-limits %}
-
## Configuring rate limits for authentication to the {% data variables.enterprise.management_console %}
You can configure the lockout time and login attempt limits for the {% data variables.enterprise.management_console %}.
@@ -87,5 +81,3 @@ After you configure rate limits and a {% data variables.enterprise.management_co
1. Optionally, under "Lockout time for Management Console users", type a number of minutes to lock the {% data variables.enterprise.management_console %} after too many failed login attempts. When locked out, the root site administrator must be manually unlocked.
1. Optionally, under "Login attempt limit for all users", type a maximum number of failed login attempts to allow before the {% data variables.enterprise.management_console %} is locked.
{% data reusables.enterprise_management_console.save-settings %}
-
-{% endif %}
diff --git a/content/admin/administering-your-instance/administering-your-instance-from-the-web-ui/troubleshooting-access-to-the-management-console.md b/content/admin/administering-your-instance/administering-your-instance-from-the-web-ui/troubleshooting-access-to-the-management-console.md
index 037b2f72d61b..3465436aa712 100644
--- a/content/admin/administering-your-instance/administering-your-instance-from-the-web-ui/troubleshooting-access-to-the-management-console.md
+++ b/content/admin/administering-your-instance/administering-your-instance-from-the-web-ui/troubleshooting-access-to-the-management-console.md
@@ -20,18 +20,12 @@ If you experience problems accessing the Management Console, you can try the fol
## Unlocking the {% data variables.enterprise.management_console %} after failed login attempts
-The {% data variables.enterprise.management_console %} locks after {% ifversion enterprise-authentication-rate-limits %}the number of failed login attempts configured by your authentication policies. For more information, see [AUTOTITLE](/admin/configuration/administering-your-instance-from-the-management-console/managing-access-to-the-management-console#configuring-rate-limits-for-authentication-to-the-management-console).{% else %}ten failed login attempts are made in the span of ten minutes. You must wait for the login screen to automatically unlock before attempting to log in again. The login screen automatically unlocks as soon as the previous ten minute period contains fewer than ten failed login attempts. The counter resets after a successful login occurs.{% endif %}
-
-{% ifversion enterprise-management-console-multi-user-auth %}
+The {% data variables.enterprise.management_console %} locks after the number of failed login attempts configured by your authentication policies. For more information, see [AUTOTITLE](/admin/configuration/administering-your-instance-from-the-management-console/managing-access-to-the-management-console#configuring-rate-limits-for-authentication-to-the-management-console).
### Unlocking the root site administrator account
-{% endif %}
-
{% data reusables.enterprise_management_console.unlocking-management-console-with-shell %}
-{% ifversion enterprise-management-console-multi-user-auth %}
-
### Unlocking a {% data variables.enterprise.management_console %} user account
The root site administrator can unlock access to the {% data variables.enterprise.management_console %} for other user accounts.
@@ -40,8 +34,6 @@ The root site administrator can unlock access to the {% data variables.enterpris
{% data reusables.enterprise_site_admin_settings.click-user-management %}
1. Locked user accounts will appear as "State: blocked". To unblock the user and allow authentication, to the right of the user's details, click {% octicon "law" aria-label="Unblock user" %}.
-{%- endif %}
-
## Troubleshooting failed connections to the {% data variables.enterprise.management_console %}
If you cannot connect to the {% data variables.enterprise.management_console %} on {% data variables.location.product_location %}, you can review the following information to troubleshoot the problem.
diff --git a/content/admin/administering-your-instance/configuring-maintenance-mode/enabling-and-scheduling-maintenance-mode.md b/content/admin/administering-your-instance/configuring-maintenance-mode/enabling-and-scheduling-maintenance-mode.md
index 932d3beabca4..5abb66194938 100644
--- a/content/admin/administering-your-instance/configuring-maintenance-mode/enabling-and-scheduling-maintenance-mode.md
+++ b/content/admin/administering-your-instance/configuring-maintenance-mode/enabling-and-scheduling-maintenance-mode.md
@@ -50,12 +50,11 @@ You can perform initial validation of your maintenance operation by configuring
1. In the top navigation bar, click **Maintenance**.
![Screenshot of the header of the {% data variables.enterprise.management_console %}. A tab, labeled "Maintenance", is highlighted with an orange outline.](/assets/images/enterprise/management-console/maintenance-tab.png)
-1. Under "Enable and schedule", {% ifversion custom-maintenance-mode-message %}select **Enable maintenance mode**, then {% endif %}decide whether to enable maintenance mode immediately or to schedule a maintenance window for a future time.
+1. Under "Enable and schedule", select **Enable maintenance mode**, then decide whether to enable maintenance mode immediately or to schedule a maintenance window for a future time.
* To enable maintenance mode immediately, select the dropdown menu and click **now**.
* To schedule a maintenance window for a future time, select the dropdown menu and click a start time.
{% data reusables.enterprise_management_console.custom-maintenance-message %}
-{% ifversion custom-maintenance-mode-message %}1. When you're satisfied with the timing of the window and the optional message, click **Save**. If you selected "now", your instance will be put into maintenance mode immediately.
-{% else %}1. When you're satisfied with the timing of the window, select the checkbox next to "Enable maintenance mode". If you selected "now", your instance will be put into maintenance mode immediately.{% endif %}
+1. When you're satisfied with the timing of the window and the optional message, click **Save**. If you selected "now", your instance will be put into maintenance mode immediately.
{% ifversion ip-exception-list %}
@@ -103,8 +102,6 @@ For more information, see [AUTOTITLE](/admin/administering-your-instance/adminis
{% endif %}
-{% ifversion custom-maintenance-mode-message %}
-
## Managing maintenance mode using SSH
If you have SSH access, you can use the `ghe-maintenance` command line utility to can set or unset maintenance mode for a {% data variables.product.product_name %} instance with one node, or multiple nodes in a high-availability configuration. For more information, see [AUTOTITLE](/admin/administering-your-instance/administering-your-instance-from-the-command-line/accessing-the-administrative-shell-ssh) and [AUTOTITLE](/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities#ghe-maintenance).
@@ -120,14 +117,10 @@ $ ghe-cluster-maintenance -q
# Queries the current mode
$ ghe-cluster-maintenance -s
# Sets maintenance mode
-{%- ifversion custom-maintenance-mode-message %}
$ ghe-cluster-maintenance -s "MESSAGE"
# Sets maintenance mode with a custom message
$ ghe-cluster-maintenance -m "MESSAGE"
# Updates the custom message
-{%- endif %}
$ ghe-cluster-maintenance -u
# Unsets maintenance mode
```
-
-{% endif %}
diff --git a/content/admin/backing-up-and-restoring-your-instance/configuring-backups-on-your-instance.md b/content/admin/backing-up-and-restoring-your-instance/configuring-backups-on-your-instance.md
index 55b11c634f5c..0ee16464dd83 100644
--- a/content/admin/backing-up-and-restoring-your-instance/configuring-backups-on-your-instance.md
+++ b/content/admin/backing-up-and-restoring-your-instance/configuring-backups-on-your-instance.md
@@ -188,8 +188,6 @@ On an instance in a high-availability configuration, after you restore to new di
To remediate after the restoration completes and before starting replication, you can tear down stale UUIDs using `ghe-repl-teardown`. If you need further assistance, visit {% data variables.contact.contact_ent_support %}.
-{% ifversion backup-utilities-progress %}
-
## Monitoring backup or restoration progress
During a backup or restoration operation, you can use the `ghe-backup-progress` utility on your backup host to monitor the operation's progress. The utility prints the progress of each job sequentially.
@@ -207,5 +205,3 @@ Optionally, you can run the following command to print the current progress, the
```shell copy
bin/ghe-backup-progress --once
```
-
-{% endif %}
diff --git a/content/admin/configuring-packages/migrating-your-enterprise-to-the-container-registry-from-the-docker-registry.md b/content/admin/configuring-packages/migrating-your-enterprise-to-the-container-registry-from-the-docker-registry.md
index c881ff868719..bafc6c793841 100644
--- a/content/admin/configuring-packages/migrating-your-enterprise-to-the-container-registry-from-the-docker-registry.md
+++ b/content/admin/configuring-packages/migrating-your-enterprise-to-the-container-registry-from-the-docker-registry.md
@@ -4,7 +4,7 @@ intro: 'You can migrate Docker images previously stored in the Docker registry o
product: '{% data reusables.gated-features.packages %}'
permissions: 'Enterprise owners can migrate Docker images to the {% data variables.product.prodname_container_registry %}.'
versions:
- feature: docker-ghcr-enterprise-migration
+ ghes: '*'
shortTitle: Migrate to Container registry
topics:
- Containers
diff --git a/content/admin/configuring-settings/configuring-github-connect/about-github-connect.md b/content/admin/configuring-settings/configuring-github-connect/about-github-connect.md
index bef96dd61e2a..2cbf3c6dfdc3 100644
--- a/content/admin/configuring-settings/configuring-github-connect/about-github-connect.md
+++ b/content/admin/configuring-settings/configuring-github-connect/about-github-connect.md
@@ -105,9 +105,7 @@ Additional data is transmitted if you enable individual features of {% data vari
| {% ifversion ghes %} |
| {% data variables.product.prodname_dependabot_alerts %} | Vulnerability alerts | From {% data variables.product.prodname_dotcom_the_website %} to {% data variables.product.product_name %} | {% data variables.product.product_name %} |
| {% endif %} |
-| {% ifversion dependabot-updates-github-connect %} |
| {% data variables.product.prodname_dependabot_updates %} | Dependencies and the metadata for each dependency's repository
If a dependency is stored in a private repository on {% data variables.product.prodname_dotcom_the_website %}, data will only be transmitted if {% data variables.product.prodname_dependabot %} is configured and authorized to access that repository. | From {% data variables.product.prodname_dotcom_the_website %} to {% data variables.product.product_name %} | {% data variables.product.product_name %} |
-| {% endif %} |
| {% data variables.product.prodname_dotcom_the_website %} actions | Name of action, action (YAML file from {% data variables.product.prodname_marketplace %}) | From {% data variables.product.prodname_dotcom_the_website %} to {% data variables.product.product_name %}
From {% data variables.product.product_name %} to {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.product_name %} |
| {% ifversion server-statistics %} |
| {% data variables.product.prodname_server_statistics %} | Aggregate metrics about your usage of {% data variables.product.prodname_ghe_server %}. For the complete list of metrics, see [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics#server-statistics-data-collected). | From {% data variables.product.product_name %} to {% data variables.product.prodname_ghe_cloud %} | {% data variables.product.prodname_ghe_cloud %} |
diff --git a/content/admin/configuring-settings/configuring-github-connect/enabling-dependabot-for-your-enterprise.md b/content/admin/configuring-settings/configuring-github-connect/enabling-dependabot-for-your-enterprise.md
index 964c5da6ceb6..6b4d16d51402 100644
--- a/content/admin/configuring-settings/configuring-github-connect/enabling-dependabot-for-your-enterprise.md
+++ b/content/admin/configuring-settings/configuring-github-connect/enabling-dependabot-for-your-enterprise.md
@@ -87,8 +87,6 @@ Before you can enable {% data variables.product.prodname_dependabot_alerts %}, y
You can now enable {% data variables.product.prodname_dependabot_alerts %} for all existing or new private and internal repositories in the enterprise settings page for {% ifversion code-security-wording-only-enterprise %}"Code security."{% else %}"Code security and analysis."{% endif %} Alternatively, repository administrators and organization owners can enable {% data variables.product.prodname_dependabot_alerts %} for each repository and organization. Public repositories are always enabled by default. For more information, see [AUTOTITLE](/enterprise-server@latest/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts).
-{% ifversion dependabot-updates-github-connect %}
-
## Enabling {% data variables.product.prodname_dependabot_updates %}
Before you can enable {% data variables.product.prodname_dependabot_updates %}:
@@ -98,13 +96,9 @@ Before you can enable {% data variables.product.prodname_dependabot_updates %}:
{% data variables.product.prodname_dependabot_updates %} are not supported on {% data variables.product.product_name %} if your enterprise uses clustering.
-{% ifversion ghes %}
-
> [!NOTE]
> After you enable the dependency graph, you can use the [{% data variables.product.prodname_dependabot %} action](https://github.com/github/dependabot-action). The action will raise an error if any vulnerabilities or invalid licenses are being introduced. {% data reusables.actions.action-bundled-actions %}
-{% endif %}
-
{% data reusables.enterprise_site_admin_settings.sign-in %}
{% data reusables.enterprise_site_admin_settings.access-settings %}
{% data reusables.enterprise_site_admin_settings.management-console %}
@@ -116,11 +110,7 @@ Before you can enable {% data variables.product.prodname_dependabot_updates %}:
{% data reusables.enterprise-accounts.access-enterprise %}
{% data reusables.enterprise-accounts.github-connect-tab %}
1. Under "{% data variables.product.prodname_dependabot %}", to the right of "Users can easily upgrade to non-vulnerable open source code dependencies", click **Enable**.
-{% endif %}
-{% ifversion ghes %}
When you enable {% data variables.product.prodname_dependabot_alerts %}, you should consider also setting up {% data variables.product.prodname_actions %} for {% data variables.product.prodname_dependabot_security_updates %}. This feature allows developers to fix vulnerabilities in their dependencies. For more information, see [AUTOTITLE](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/managing-self-hosted-runners-for-dependabot-updates).
If you need enhanced security, we recommend configuring {% data variables.product.prodname_dependabot %} to use private registries. For more information, see [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#configuring-private-registries).
-
-{% endif %}
diff --git a/content/admin/configuring-settings/configuring-github-connect/enabling-unified-search-for-your-enterprise.md b/content/admin/configuring-settings/configuring-github-connect/enabling-unified-search-for-your-enterprise.md
index 54059d484930..fbe8dd199e39 100644
--- a/content/admin/configuring-settings/configuring-github-connect/enabling-unified-search-for-your-enterprise.md
+++ b/content/admin/configuring-settings/configuring-github-connect/enabling-unified-search-for-your-enterprise.md
@@ -44,7 +44,7 @@ Before you can enable {% data variables.enterprise.prodname_unified_search %}, y
{% data reusables.enterprise-accounts.github-connect-tab %}
1. To the right of "Unified search", click **Enable**.
- ![Screenshot of the "Unified search" option on the GitHub Connect page. The "Enable" button is highlighted with an orange outline.](/assets/images/enterprise/site-admin-settings/github-dotcom-enable-search.png)
+ ![Screenshot of the "Unified search" for public repositories option. The "Enable" button is outlined in orange.](/assets/images/enterprise/site-admin-settings/github-dotcom-enable-search.png)
1. Optionally, to the right of "Users can search private repositories on ENTERPRISE ACCOUNT when searching from Enterprise Server", click **Enable**.
- ![Screenshot of the "Unified search" option on the GitHub Connect page. To the right of the setting to allow search of private repositories, the "Enable" button is highlighted with an orange outline.](/assets/images/enterprise/site-admin-settings/enable-private-search.png)
+ ![Screenshot of the "Unified search" option for private repositories. To the right of the setting, the "Enable" button is outlined in orange.](/assets/images/enterprise/site-admin-settings/enable-private-search.png)
diff --git a/content/admin/configuring-settings/configuring-user-applications-for-your-enterprise/configuring-applications.md b/content/admin/configuring-settings/configuring-user-applications-for-your-enterprise/configuring-applications.md
index 0b73fa7ecc0c..e7e6d3a45092 100644
--- a/content/admin/configuring-settings/configuring-user-applications-for-your-enterprise/configuring-applications.md
+++ b/content/admin/configuring-settings/configuring-user-applications-for-your-enterprise/configuring-applications.md
@@ -36,7 +36,6 @@ You can enable a retention policy for checks, actions, and associated data by se
1. Under "Delete threshold (days)", type the number of days for the deletion threshold. An archived check exists in an archived state for the number of days specified here. After this threshold, the check will be permanently deleted.
{% data reusables.enterprise_management_console.save-settings %}
-{% ifversion azure-maps %}
{% ifversion ghes < 3.13 %}
## Enabling interactive maps
@@ -44,4 +43,3 @@ You can enable a retention policy for checks, actions, and associated data by se
You can enable the display of interactive maps in the web interface for users of {% data variables.location.product_location %}. For more information, see [AUTOTITLE](/admin/configuration/configuring-user-applications-for-your-enterprise/configuring-interactive-maps).
{% endif %}
-{% endif %}
diff --git a/content/admin/configuring-settings/configuring-user-applications-for-your-enterprise/configuring-email-for-notifications.md b/content/admin/configuring-settings/configuring-user-applications-for-your-enterprise/configuring-email-for-notifications.md
index d23c23ea1960..449b0bd6798d 100644
--- a/content/admin/configuring-settings/configuring-user-applications-for-your-enterprise/configuring-email-for-notifications.md
+++ b/content/admin/configuring-settings/configuring-user-applications-for-your-enterprise/configuring-email-for-notifications.md
@@ -25,8 +25,8 @@ shortTitle: Configure email notifications
## Configuring SMTP for your enterprise
{% data reusables.enterprise_site_admin_settings.email-settings %}
-1. Select **Enable email**. This will enable both outbound and inbound email. However, for inbound email to work you will also need to configure your DNS settings as described below in "[Configuring DNS and firewall
-settings to allow incoming emails](#configuring-dns-and-firewall-settings-to-allow-incoming-emails)."
+1. Select **Enable email**. This will enable both outbound and inbound email. However, for inbound email to work you will also need to configure your DNS settings as described below in [Configuring DNS and firewall
+settings to allow incoming emails](#configuring-dns-and-firewall-settings-to-allow-incoming-emails).
1. Type the settings for your SMTP server.
* In the **Server address** field, type the address of your SMTP server.
* In the **Port** field, type the port that your SMTP server uses to send email.
diff --git a/content/admin/configuring-settings/configuring-user-applications-for-your-enterprise/configuring-interactive-maps.md b/content/admin/configuring-settings/configuring-user-applications-for-your-enterprise/configuring-interactive-maps.md
index 1e2c9986936c..02ee302ab2b2 100644
--- a/content/admin/configuring-settings/configuring-user-applications-for-your-enterprise/configuring-interactive-maps.md
+++ b/content/admin/configuring-settings/configuring-user-applications-for-your-enterprise/configuring-interactive-maps.md
@@ -4,7 +4,7 @@ intro: 'You can enable the display of interactive maps in the web interface for
shortTitle: Configure interactive maps
permissions: 'People with access to the {% data variables.enterprise.management_console %} can configure interactive maps.'
versions:
- feature: azure-maps
+ ghes: '*'
type: how_to
topics:
- Enterprise
@@ -18,33 +18,27 @@ You can allow users of {% data variables.location.product_location %} to create
To enable interactive maps, you must provide authentication credentials for Azure Maps.
-{% ifversion azure-maps-auth-2023 %}
{% ifversion ghes < 3.13 %}
> [!WARNING]
> Authentication with Azure Maps using an API token is {% data variables.release-phases.retired %} in {% data variables.product.product_name %} {{ allVersions[currentVersion].currentRelease }}.{% ifversion ghes = 3.10 %}4{% elsif ghes = 3.11 %}1{% endif %} and later. If you upgrade to the latest release of {% data variables.product.product_name %} on an instance already configured to authenticate with an API token, interactive maps will be disabled. You must reconfigure authentication using role-based access control (RBAC) for an application on a Microsoft Entra ID (previously known as Azure AD) tenant. {% data reusables.enterprise.azure-maps-auth-deprecation-link %}
-{% endif %}
{% endif %}
## Prerequisites
-{% ifversion azure-maps-auth-2023 %}
-
{% ifversion ghes < 3.12 %}
The following prerequisites apply if your instance runs {% data variables.product.product_name %} {{ allVersions[currentVersion].currentRelease }}.{% ifversion ghes = 3.10 %}4{% elsif ghes = 3.11 %}1{% endif %} or later.
{% endif %}
-* To configure interactive maps for your instance, you must have {% ifversion azure-maps-auth-2023 %}administrative access to a tenant in Microsoft Entra ID. For more information, contact the administrator for Microsoft resources at your company, or see [Quickstart: Create a new tenant in Microsoft Entra ID](https://learn.microsoft.com/entra/fundamentals/create-new-tenant) on Microsoft Learn{% else %}an API token for Azure Maps{% endif %}.
+* To configure interactive maps for your instance, you must have administrative access to a tenant in Microsoft Entra ID. For more information, contact the administrator for Microsoft resources at your company, or see [Quickstart: Create a new tenant in Microsoft Entra ID](https://learn.microsoft.com/entra/fundamentals/create-new-tenant) on Microsoft Learn.
* You must know the tenant ID for your tenant in Entra ID. For more information, see [Get subscription and tenant IDs in the Azure portal](https://learn.microsoft.com/en-us/azure/azure-portal/get-subscription-tenant-id#find-your-microsoft-entra-tenant) on Microsoft Learn.
* Your instance must be able to access https://login.microsoftonline.com.
-{% endif %}
-
{% ifversion ghes < 3.12 %}
If your instance runs {% ifversion ghes < 3.11 %}a release of {% data variables.product.product_name %} in the {{ allVersions[currentVersion].currentRelease }} series earlier than {% else %}{% data variables.product.product_name %} {% endif %}{{ allVersions[currentVersion].currentRelease }}.{% ifversion ghes = 3.10 %}3{% elsif ghes = 3.11 %}0{% endif %}, you must provide an API token for Azure Maps instead.
@@ -53,8 +47,6 @@ If your instance runs {% ifversion ghes < 3.11 %}a release of {% data variables.
{% endif %}
-{% ifversion azure-maps-auth-2023 %}
-
## Generating credentials for Azure Maps
{% ifversion ghes < 3.12 %}
@@ -83,16 +75,10 @@ To generate credentials for Azure Maps, you must create an application for your
* On your Entra ID tenant, from **Access control (IAM)**, you must assign the role of "Azure Maps Data Reader" to "User, group, or service principal", select the application you created earlier in these instructions, and complete the form.
-{% endif %}
-
## Enabling interactive maps
-{% ifversion azure-maps-auth-2023 %}
-
After you create an application on your Entra ID tenant and generate a secret for the use of Azure Maps, you can configure interactive maps on {% data variables.location.product_location %}.
-{% endif %}
-
{% data reusables.enterprise_site_admin_settings.access-settings %}
{% data reusables.enterprise_site_admin_settings.management-console %}
{% data reusables.enterprise_management_console.privacy %}
@@ -104,7 +90,6 @@ After you create an application on your Entra ID tenant and generate a secret fo
```
Store the string in a secure location that you can reference in the next step.
-{%- ifversion azure-maps-auth-2023 %}
1. {% ifversion ghes > 3.11 %}Below the headings, type or paste{% else %}Enter{% endif %} your authentication details for Azure Maps.
{%- ifversion ghes < 3.11 %}
@@ -112,8 +97,8 @@ After you create an application on your Entra ID tenant and generate a secret fo
{% data reusables.enterprise.azure-maps-auth-warning %}
* If your instance runs {% data variables.product.product_name %} {{ allVersions[currentVersion].currentRelease }}.{% ifversion ghes = 3.10 %}4{% elsif ghes = 3.11 %}1{% endif %} or later, below the headings, type or paste the following information.
+ {%- endif %}
- {%- endif %}
* Optionally, to change the style of rendered maps, under "Basemap ID", type the ID for the style you'd like to use.
* Under the headings, type or paste your authentication details.
@@ -124,9 +109,6 @@ After you create an application on your Entra ID tenant and generate a secret fo
| Azure Tenant ID | ID for your tenant on Entra ID | [Prerequisites](#prerequisites) |
| Azure App Client Secret | Client secret that you generated for the application on your Entra ID tenant | [Generating credentials for Azure Maps](#generating-credentials-for-azure-maps)
| CSRF Secret | 32-character string to prevent CSRF attacks | See previous step. |
-{%- else %}
-1. To configure authentication, under "Azure Maps API Token", paste your token.
-{%- endif %}
{% data reusables.enterprise_management_console.save-settings %}
## Disabling interactive maps
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/data-residency/network-details-for-ghecom.md b/content/admin/data-residency/network-details-for-ghecom.md
index 5e23538a79ba..09739b6c5b12 100644
--- a/content/admin/data-residency/network-details-for-ghecom.md
+++ b/content/admin/data-residency/network-details-for-ghecom.md
@@ -30,9 +30,13 @@ To access your enterprise on {% data variables.enterprise.data_residency_site %}
## {% data variables.product.github %}'s IP addresses
-These are {% data variables.product.company_short %}'s IP address ranges for enterprises on {% data variables.enterprise.data_residency_site %}.
+{% data variables.product.company_short %}'s IP address ranges for enterprises on {% data variables.enterprise.data_residency_site %} depend on your chosen region.
-### Ranges for egress traffic
+### The EU
+
+These are {% data variables.product.company_short %}'s IP address ranges for enterprises hosted in the EU.
+
+#### Ranges for egress traffic
* 108.143.221.96/28
* 20.61.46.32/28
@@ -41,7 +45,7 @@ These are {% data variables.product.company_short %}'s IP address ranges for ent
* 74.241.131.48/28
* 20.240.211.176/28
-### Ranges for ingress traffic
+#### Ranges for ingress traffic
* 108.143.197.176/28
* 20.123.213.96/28
@@ -50,12 +54,83 @@ These are {% data variables.product.company_short %}'s IP address ranges for ent
* 20.240.220.192/28
* 20.240.211.208/28
+### Australia
+
+These are {% data variables.product.company_short %}'s IP address ranges for enterprises hosted in Australia.
+
+#### Ranges for egress traffic
+
+* 20.5.34.240/28
+* 20.5.146.128/28
+* 68.218.155.16/28
+
+#### Ranges for ingress traffic
+
+* 4.237.73.192/28
+* 20.5.226.112/28
+* 20.248.163.176/28
+
## Supported regions for Azure private networking
If you use Azure private networking for {% data variables.product.company_short %}-hosted runners, the supported Azure regions on {% data variables.enterprise.data_residency_site %} differ from those on {% data variables.product.prodname_dotcom_the_website %}.
-The following regions are available:
+### Supported regions in the EU
+
+| Runner type | Supported regions |
+| ----------- | ----------------- |
+| x64 | `francecentral`, `swedencentral` |
+| arm64 | `francecentral`, `northeurope` |
+| GPU | `italynorth`, `swedencentral` |
+
+### Supported regions in Australia
+
+| Runner type | Supported regions |
+| ----------- | ----------------- |
+| x64 | `australiaeast`, `australiacentral` |
+| arm64 | `australiaeast`, `australiacentral` |
+| GPU | N/A |
+
+## IP ranges for {% data variables.product.prodname_importer_proper_name %}
+
+If you're running a migration to your enterprise with {% data variables.product.prodname_importer_proper_name %}, you may need to add certain ranges to an IP allow list. See [AUTOTITLE](/migrations/using-github-enterprise-importer/migrating-between-github-products/managing-access-for-a-migration-between-github-products#configuring-ip-allow-lists-for-migrations).
+
+You must allow:
+
+* Ranges required for everyone
+* Additional ranges that depend on your data residency region
+
+### Required for everyone
+
+* 192.30.252.0/22
+* 185.199.108.0/22
+* 140.82.112.0/20
+* 143.55.64.0/20
+* 2a0a:a440::/29
+* 2606:50c0::/32
+
+### Required in the EU
+
+* 4.231.155.80/29
+* 4.225.9.96/29
+* 51.12.152.184/29
+* 20.199.6.80/29
+* 51.12.144.32/29
+* 20.199.1.232/29
+* 51.12.152.240/29
+* 20.19.101.136/29
+* 74.241.131.48/28
+* 51.12.252.16/28
+* 20.240.211.176/28
+* 108.143.221.96/28
+* 20.61.46.32/28
+* 20.224.62.160/28
+
+### Required in Australia
-* x64: `francecentral`, `swedencentral`
-* arm64: `francecentral`, `northeurope`
-* GPU: `italynorth`, `swedencentral`
+* 20.213.236.72/29
+* 20.53.178.216/29
+* 20.213.241.72/29
+* 20.11.90.48/29
+* 20.5.34.240/28
+* 20.5.146.128/28
+* 68.218.155.16/28
diff --git a/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-governance.md b/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-governance.md
new file mode 100644
index 000000000000..0de725a8aa1a
--- /dev/null
+++ b/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-governance.md
@@ -0,0 +1,149 @@
+---
+title: Enforcing code governance in your enterprise with rulesets
+allowTitleToDifferFromFilename: true
+intro: 'You can create a ruleset to target multiple repositories in your enterprise.'
+versions:
+ feature: enterprise-code-rulesets
+permissions: 'Enterprise owners'
+shortTitle: Create rulesets
+type: how_to
+topics:
+ - Enterprise
+ - Policies
+ - Repositories
+ - Security
+---
+
+## Introduction
+
+>[!NOTE] Enterprise code rulesets are currently in public preview and subject to change.
+
+You can create rulesets to control how users can interact with code in repositories across your enterprise. You can:
+
+* Create a **branch or tag ruleset** to control things like who can push commits to a certain branch, how commits must be formatted, or who can delete or rename a tag.
+* Create a **push ruleset** to block pushes to a private or internal repository and the repository's entire fork network. Push rulesets allow you to block pushes based on file extensions, file path lengths, file and folder paths, and file sizes.
+
+To learn more, see [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets).
+
+## Importing prebuilt rulesets
+
+To import a prebuilt ruleset created by {% data variables.product.company_short %}, see [`github/ruleset-recipes`](https://github.com/github/ruleset-recipes).
+
+{% ifversion repo-rules-management %}
+{% data reusables.repositories.import-a-ruleset-conceptual %} For more information, see [AUTOTITLE](/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#using-ruleset-history).
+{% endif %}
+
+## How will I define where my ruleset applies?
+
+Rulesets allow you to flexibly target the organizations, repositories, and branches where you want rules to apply.
+
+* To target **organizations**, you can select all, choose from a list, or define a dynamic pattern for organization names using `fnmatch` syntax. For syntax details, see [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/creating-rulesets-for-a-repository#using-fnmatch-syntax).
+* Within those organizations, you can target all **repositories**, or target a dynamic list by custom property. See [AUTOTITLE](/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization).
+* Within the repositories, you can target certain **branches or tags**: all branches, the default branch, or a dynamic list using `fnmatch` syntax.
+
+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.
+
+## How can I control the format of commits?
+
+In branch or tag rulesets, you can add a rule that restricts the format of commit metadata such as commit message or author email.
+
+If you select **Must match a given regex pattern restriction**, you can use regular expression syntax to define patterns that the metadata must or must not match. For syntax details and examples, see [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/creating-rulesets-for-a-repository#using-regular-expressions-for-commit-metadata).
+
+## Using ruleset enforcement statuses
+
+{% data reusables.repositories.rulesets-about-enforcement-statuses %}
+
+## Creating a branch or tag ruleset
+
+{% data reusables.enterprise-accounts.access-enterprise %}
+{% data reusables.enterprise-accounts.policies-tab %}
+1. Under "Policies", click **Code**.
+{% data reusables.repositories.create-ruleset-step %}
+{% data reusables.repositories.rulesets-general-step %}
+
+### Granting bypass permissions for your branch or tag ruleset
+
+You can grant certain roles, teams, or apps bypass permissions as well as the ability to approve bypass requests for your ruleset.
+
+The following are eligible for bypass access:
+* Repository admins, organization owners, and enterprise owners
+* The maintain or write role, or deploy keys.
+
+1. To grant bypass permissions for the ruleset, in the "Bypass list" section, click **Add bypass**.
+
+1. In the "Add bypass" modal dialog that appears, search for the role, team, or app you would like to grant bypass permissions, then select the role, team, or app from the "Suggestions" section and click Add Selected.
+
+{% data reusables.repositories.rulesets-branch-tag-bypass-optional-step %}
+
+### Choosing which organizations to target in your enterprise
+
+Select all organizations, choose a selection of existing organizations, or set a dynamic list by name. If you use {% data variables.product.prodname_emus %}, you can also choose to target all repositories owned by users in your enterprise.
+
+If you set a dynamic list, you'll add one or more naming patterns using `fnmatch` syntax. For example, the string `*open-source` would match any organization with a name that ends with `open-source`. For syntax details, see [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/creating-rulesets-for-a-repository#using-fnmatch-syntax).
+
+### Choosing which repositories to target in your enterprise
+
+Within the selected organizations, you can target all repositories or target a dynamic list by custom property. See [AUTOTITLE](/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization).
+
+### Choosing which branches or tags to target
+
+{% data reusables.repositories.rulesets-target-branches %}
+
+### Selecting branch or tag protections
+
+In the "Branch protections" or "Tag protections" section, select the rules you want to include in the ruleset. When you select a rule, you may be able to enter additional settings for the rule. For more information on the rules, see [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/available-rules-for-rulesets).
+
+### Adding metadata restrictions
+
+{% data reusables.repositories.rulesets-metadata-step %}
+
+### Finalizing your branch or tag ruleset and next steps
+
+{% data reusables.repositories.rulesets-create-and-insights-step %}
+
+{% ifversion push-rulesets %}
+
+## Creating a push ruleset
+
+{% data reusables.repositories.push-rules-fork-network-note %}
+
+You can create a push ruleset for private or internal repositories in your enterprise.
+
+{% data reusables.enterprise-accounts.access-enterprise %}
+1. In the left sidebar, in the "Policies" section, click **Code**.
+1. Click **New ruleset**.
+1. Click **New push ruleset**.
+1. Under "Ruleset name," type a name for the ruleset.
+1. Optionally, to change the default enforcement status, click **Disabled** and select an enforcement status. For more information about enforcement statuses, see [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets)
+
+### Granting bypass permissions for your push ruleset
+
+>[!NOTE] Bypass permissions for push rulesets that target a repository will be inherited by the entire fork network for this repository. {% data reusables.repositories.rulesets-push-rulesets-bypass-permissions %}
+
+You can grant certain roles, teams, or apps bypass permissions as well as the ability to approve bypass requests for your ruleset. The following are eligible for bypass access:
+
+* Repository admins, organization owners, and enterprise owners
+* The maintain or write role, or deploy keys
+
+1. To grant bypass permissions for the ruleset, in the "Bypass list" section, click **Add bypass**.
+1. In the "Add bypass" modal dialog that appears, search for the role, team, or app you would like to grant bypass permissions, then select the role, team, or app from the "Suggestions" section and click Add Selected.
+
+### Choosing which organizations to target in your enterprise
+
+Select all organizations, choose a selection of existing organizations, or set a dynamic list by name. If you use {% data variables.product.prodname_emus %}, you can also choose to target all repositories owned by users in your enterprise.
+
+If you set a dynamic list, you'll add one or more naming patterns using `fnmatch` syntax. For example, the string `*open-source` would match any organization with a name that ends with `open-source`. For syntax details, see [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/creating-rulesets-for-a-repository#using-fnmatch-syntax).
+
+### Choosing which repositories to target in your enterprise
+
+Within your chosen organizations, you can target all repositories, or target a dynamic list using custom properties. See [AUTOTITLE](/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization).
+
+### Selecting push protections
+
+{% data reusables.repositories.rulesets-push-rules-step %}
+
+### Finalizing your push ruleset and next steps
+
+{% data reusables.repositories.rulesets-create-and-insights-step %}
+
+{% endif %}
diff --git a/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise.md b/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise.md
index 1cbdf474d747..09e0d08a40cb 100644
--- a/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise.md
+++ b/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise.md
@@ -1,7 +1,7 @@
---
title: Enforcing policies for code security and analysis for your enterprise
-intro: 'You can enforce policies to manage the use of {% ifversion security-feature-enablement-policies %}code security and analysis{% else %}{% data variables.product.prodname_GH_advanced_security %}{% endif %} features within your enterprise''s organizations.'
-permissions: 'Enterprise owners can enforce {% ifversion security-feature-enablement-policies %}code security and analysis{% endif %} policies for {% data variables.product.prodname_GH_advanced_security %} in an enterprise.'
+intro: 'You can enforce policies to manage the use of code security and analysis features within your enterprise''s organizations.'
+permissions: 'Enterprise owners can enforce code security and analysis policies for {% data variables.product.prodname_GH_advanced_security %} in an enterprise.'
product: '{% data reusables.gated-features.ghas %}'
versions:
ghec: '*'
@@ -28,22 +28,12 @@ redirect_from:
- /admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise
shortTitle: Code security & analysis
---
-{% ifversion security-feature-enablement-policies %}
## About policies for code security and analysis in your enterprise
You can enforce policies to manage the use of code security and analysis features within organizations owned by your enterprise. You can allow or disallow people with admin access to a repository to enable or disable the security and analysis features.
Additionally, you can enforce policies for the use of {% data variables.product.prodname_GH_advanced_security %} in your enterprise's organizations and repositories.
-{% else %}
-
-## About policies for {% data variables.product.prodname_GH_advanced_security %} in your enterprise
-
-{% data reusables.advanced-security.ghas-helps-developers %} For more information, see [AUTOTITLE](/get-started/learning-about-github/about-github-advanced-security).
-
-{% ifversion ghes %}If you purchase a license for {% data variables.product.prodname_GH_advanced_security %}, any{% else %}Any{% endif %} organization on {% data variables.product.prodname_ghe_server %} can use {% data variables.product.prodname_advanced_security %} features. You can enforce policies to control how members of your enterprise on {% data variables.product.product_name %} use {% data variables.product.prodname_advanced_security %}.
-
-{% endif %}
{% ifversion ghec %}
@@ -84,16 +74,13 @@ Across all organizations owned by your enterprise, you can allow members with ad
{% data reusables.enterprise.role-permission-hierarchy %}
{% data reusables.enterprise-accounts.access-enterprise %}
-{% data reusables.enterprise-accounts.policies-tab %}{% ifversion security-feature-enablement-policies %}
-{% data reusables.enterprise-accounts.code-security-and-analysis-policies %}{% else %}
-{% data reusables.enterprise-accounts.advanced-security-policies %}{% endif %}{% ifversion security-feature-enablement-policies %}
+{% data reusables.enterprise-accounts.policies-tab %}
+{% data reusables.enterprise-accounts.code-security-and-analysis-policies %}
1. In the "{% data variables.product.prodname_GH_advanced_security %} policies" section, under "{% data variables.product.prodname_GH_advanced_security %} availability", select the dropdown menu and click a policy for the organizations owned by your enterprise.
-{% data reusables.enterprise-accounts.advanced-security-organization-policy-drop-down %}{% endif %}
+{% data reusables.enterprise-accounts.advanced-security-organization-policy-drop-down %}
{% data reusables.enterprise-accounts.advanced-security-individual-organization-policy-drop-down %}
-{% ifversion security-feature-enablement-policies %}
-
## Enforcing a policy to manage the use of {% data variables.product.prodname_GH_advanced_security %} features in your enterprise's repositories
Across all of your enterprise's organizations, you can allow or disallow people with admin access to repositories to manage the use of {% data variables.product.prodname_GH_advanced_security %} features in the repositories. {% data reusables.advanced-security.ghas-must-be-enabled %}
@@ -114,8 +101,6 @@ Across all of your enterprise's organizations, you can allow or disallow people
{% data reusables.enterprise-accounts.code-security-and-analysis-policies %}
1. In the "{% data variables.product.prodname_GH_advanced_security %} policies" section, under "Enable or disable {% data variables.product.prodname_secret_scanning %} by repository admins", select the dropdown menu and click a policy.
-{% endif %}
-
{% ifversion secret-scanning-ai-generic-secret-detection %}
## Enforcing a policy to manage the use of {% data variables.secret-scanning.generic-secret-detection %} for {% data variables.product.prodname_secret_scanning %} in your enterprise's repositories
@@ -128,3 +113,16 @@ Across all of your enterprise's organizations, you can allow or disallow people
1. In the "{% data variables.product.prodname_GH_advanced_security %} policies" section, under "AI detection in {% data variables.product.prodname_secret_scanning %}", select the dropdown menu and click a policy.
{% endif %}
+
+{% ifversion code-scanning-autofix %}
+
+## Enforcing a policy to manage the use of {% data variables.product.prodname_copilot_autofix_short %} in your enterprise's repositories
+
+Across all of your enterprise's organizations, you can allow or disallow people with admin access to repositories to manage where {% data variables.product.prodname_copilot_autofix_short %} is enabled. {% data reusables.advanced-security.ghas-must-be-enabled %}
+
+{% data reusables.enterprise-accounts.access-enterprise %}
+{% data reusables.enterprise-accounts.policies-tab %}
+{% data reusables.enterprise-accounts.code-security-and-analysis-policies %}
+1. In the "{% data variables.product.prodname_GH_advanced_security %} policies" section, under "{% data variables.product.prodname_copilot_autofix_short %}", select the dropdown menu and click a policy.
+
+{% endif %}
diff --git a/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise.md b/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise.md
index 8a6b95eabf94..23b09fa55960 100644
--- a/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise.md
+++ b/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise.md
@@ -111,7 +111,7 @@ By default, artifacts and log files generated by workflows are retained for 90 d
Changes only apply to new artifacts and log files.
-{% ifversion actions-cache-policy-apis %}
+{% ifversion ghes %}
### Maximum and default cache size limits
@@ -124,7 +124,7 @@ By default:
You can customize both the default total cache size for each repository and the maximum total cache size allowed for a repository. For example, you might want the default total cache size for each repository to be 5 GB, but also allow administrators to configure a total cache size up to 15 GB for individual repositories.
-{% ifversion actions-cache-admin-ui %}Organization owners can set a lower total cache size that applies to each repository in their organization. {% endif %}People with admin access to a repository can set a total cache size for their repository up to the maximum cache size allowed by the enterprise {% ifversion actions-cache-admin-ui %}or organization{% endif %} policy setting.
+Organization owners can set a lower total cache size that applies to each repository in their organization. People with admin access to a repository can set a total cache size for their repository up to the maximum cache size allowed by the enterprise or organization policy setting.
{% endif %}
diff --git a/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md b/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md
index 12667169288d..ba12a103bc6f 100644
--- a/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md
+++ b/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md
@@ -238,7 +238,7 @@ Across all organizations owned by your enterprise, you can allow members to see
1. Under "Allow members to see the comment author's profile name in public and internal repositories", select the dropdown menu and click a policy.
1. Optionally, to enforce the display of profile names for all repositories in your enterprise, select **Enforce for all repositories on the instance**.
- ![Screenshot of the "Allow members to see the comment author's profile name in public and internal repositories" policy section. The "Enforce on all repositories" checkbox is highlighted with an orange outline.](/assets/images/enterprise/site-admin-settings/enforce-for-all-repositories-option.png)
+ ![Screenshot of the policy option for the display of member names in your repositories. The "Enforce on all repositories" checkbox is outlined.](/assets/images/enterprise/site-admin-settings/enforce-for-all-repositories-option.png)
{% endif %}
@@ -336,7 +336,7 @@ If necessary, you can prevent repository administrators from changing anonymous
{% data reusables.enterprise_site_admin_settings.admin-top-tab %}
1. Under "Danger Zone", next to "Enable Anonymous Git read access", click **Enable**.
- ![Screenshot of the "Danger Zone" section of a repository's site admin settings. To the right of "Enable anonymous Git read access", the "Enable" button is highlighted with an orange outline.](/assets/images/enterprise/site-admin-settings/site-admin-enable-anonymous-git-read-access.png)
+ ![Screenshot of the "Enable anonymous Git read access" setting. The "Enable" button is outlined.](/assets/images/enterprise/site-admin-settings/site-admin-enable-anonymous-git-read-access.png)
1. Review the changes. To confirm, click **Yes, enable anonymous Git read access.**
1. Optionally, to prevent repository admins from changing this setting for this repository, select **Prevent repository admins from disabling anonymous Git read access**.
{% endif %}
diff --git a/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/index.md b/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/index.md
index 6b8414d2ec58..4b6d5ea647a5 100644
--- a/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/index.md
+++ b/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/index.md
@@ -25,6 +25,8 @@ children:
- /enforcing-policies-for-github-codespaces-in-your-enterprise
- /enforcing-policies-for-code-security-and-analysis-for-your-enterprise
- /enforcing-policies-for-personal-access-tokens-in-your-enterprise
+ - /enforcing-policies-for-code-governance
+ - /managing-policies-for-code-governance
shortTitle: Enforce policies
---
diff --git a/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/managing-policies-for-code-governance.md b/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/managing-policies-for-code-governance.md
new file mode 100644
index 000000000000..84b87f29c3b1
--- /dev/null
+++ b/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/managing-policies-for-code-governance.md
@@ -0,0 +1,83 @@
+---
+title: Managing code rulesets for repositories in your enterprise
+intro: 'You can edit, monitor, and delete existing rulesets to alter how people can interact with repositories in your enterprise.'
+allowTitleToDifferFromFilename: true
+versions:
+ feature: enterprise-code-rulesets
+permissions: 'Enterprise owners'
+shortTitle: Manage rulesets
+---
+
+After creating a ruleset at the enterprise level, you can make changes to the ruleset to alter how people can interact with the targeted repositories. For example, you can:
+
+* Add rules to better protect the branches or tags in those repositories
+* Switch your ruleset from "Evaluate" mode to "Active" after testing its effects on the contributor experience
+
+{% data reusables.repositories.rulesets-anyone-can-view %}
+
+{% ifversion push-rule-delegated-bypass %}
+
+## About delegated bypass
+
+{% data reusables.repositories.about-push-rule-delegated-bypass %}
+
+{% endif %}
+
+## Editing a ruleset
+
+You can edit a ruleset to change parts of the ruleset, such as the name, bypass permissions, or rules. You can also edit a ruleset to change its status, such as if you want to enable or temporarily disable a ruleset.
+
+{% data reusables.enterprise-accounts.access-enterprise %}
+1. In the left sidebar, in the "Policies" section, click **Code**, then click **Rulesets**.
+1. On the "Rulesets" page, click the name of the ruleset you want to edit.
+1. Change the ruleset as required.
+
+ For information on the available rules, see [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/available-rules-for-rulesets)
+
+1. At the bottom of the page, click **Save changes**.
+
+## Deleting a ruleset
+
+{% data reusables.repositories.rulesets-anyone-can-view %}
+
+{% data reusables.enterprise-accounts.access-enterprise %}
+1. In the left sidebar, in the "Policies" section, click **Code**, then click **Rulesets**.
+1. To the right of the ruleset's name, select {% octicon "kebab-horizontal" aria-label="Open additional options" %}, then click **{% octicon "trash" aria-hidden="true" %} Delete ruleset**.
+
+## Using ruleset history
+
+{% data reusables.repositories.ruleset-beta-note %}
+
+{% data reusables.repositories.ruleset-history-conceptual %}
+
+{% data reusables.enterprise-accounts.access-enterprise %}
+1. In the left sidebar, in the "Policies" section, click **Code**, then click **Rulesets**.
+1. To view the history of changes to the ruleset, select {% octicon "kebab-horizontal" aria-label="Open additional options" %} to the right of the ruleset's name, then click **{% octicon "history" aria-hidden="true" %} History**.
+1. To the right of the specific iteration, select {% octicon "kebab-horizontal" aria-label="Open additional options" %}, then click **Compare changes**, **Restore**, or **Download**.
+
+## Importing a ruleset
+
+You can import a ruleset from another repository, organization or enterprise using the exported JSON file from the previous section. This can be useful if you want to apply the same ruleset to multiple repositories, organizations or enterprises.
+
+{% data reusables.enterprise-accounts.access-enterprise %}
+1. In the left sidebar, in the "Policies" section, click **Code**, then click **Rulesets**.
+1. Select the **New ruleset** dropdown, then click **Import a ruleset**.
+1. Open the exported JSON file.
+1. Review the imported ruleset and click **Create**.
+
+## Viewing insights for rulesets
+
+You can view insights for rulesets to see how rulesets are affecting the repositories in your enterprise. {% data reusables.repositories.about-ruleset-insights %}
+
+If a ruleset is running in "Evaluate" mode, you can see actions that would have passed or failed if the ruleset had been active.
+
+{% data reusables.enterprise-accounts.access-enterprise %}
+1. In the left sidebar, in the "Policies" section, click **Code**, then click **Rulesets**.
+1. On the "Rule insights" page, use the dropdown menus at the top of the page to filter the actions by ruleset, repository, actor, and time period.
+1. To see which specific rules failed or required a bypass, click {% octicon "kebab-horizontal" aria-label="View rule runs" %}, then expand the name of the ruleset.
+
+{% ifversion push-rule-delegated-bypass %}
+
+{% data reusables.repositories.managing-delegated-bypass %}
+
+{% endif %}
diff --git a/content/admin/enforcing-policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-script.md b/content/admin/enforcing-policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-script.md
index 4ec6c82120bb..2ad63fa8fe1b 100644
--- a/content/admin/enforcing-policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-script.md
+++ b/content/admin/enforcing-policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-script.md
@@ -55,7 +55,7 @@ The exit status of a pre-receive script determines if the push will be accepted.
### Environment variables
-In addition to the standard input for your pre-receive hook script, `stdin`, {% data variables.product.prodname_ghe_server %} makes the following variables available in the Bash environment for your script's execution. For more information about `stdin` for your pre-receive hook script, see "[Input (`stdin`)](#input-stdin)."
+In addition to the standard input for your pre-receive hook script, `stdin`, {% data variables.product.prodname_ghe_server %} makes the following variables available in the Bash environment for your script's execution. For more information about `stdin` for your pre-receive hook script, see [Input (`stdin`)](#input-stdin).
Different environment variables are available to your pre-receive hook script depending on what triggers the script to run.
diff --git a/content/admin/installing-your-enterprise-server/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-azure.md b/content/admin/installing-your-enterprise-server/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-azure.md
index 2b8a43ab6054..c7fcdfe199fd 100644
--- a/content/admin/installing-your-enterprise-server/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-azure.md
+++ b/content/admin/installing-your-enterprise-server/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-azure.md
@@ -77,7 +77,7 @@ Before launching {% data variables.location.product_location %} on Azure, you'll
## Configuring the {% data variables.product.prodname_ghe_server %} virtual machine
-To configure the instance, you must confirm the instance's status, upload a license file, set the {% ifversion enterprise-management-console-multi-user-auth %}root {% endif %} {% data variables.enterprise.management_console %} password, configure the instance's settings, and restart the instance.
+To configure the instance, you must confirm the instance's status, upload a license file, set the root {% data variables.enterprise.management_console %} password, configure the instance's settings, and restart the instance.
{% data reusables.enterprise_installation.new-instance-attack-vector-warning %}
diff --git a/content/admin/managing-accounts-and-repositories/communicating-information-to-users-in-your-enterprise/customizing-user-messages-for-your-enterprise.md b/content/admin/managing-accounts-and-repositories/communicating-information-to-users-in-your-enterprise/customizing-user-messages-for-your-enterprise.md
index 834f6c3a8222..8b83db5667b0 100644
--- a/content/admin/managing-accounts-and-repositories/communicating-information-to-users-in-your-enterprise/customizing-user-messages-for-your-enterprise.md
+++ b/content/admin/managing-accounts-and-repositories/communicating-information-to-users-in-your-enterprise/customizing-user-messages-for-your-enterprise.md
@@ -45,7 +45,7 @@ There are several types of user messages.
{% data reusables.enterprise-accounts.messages-tab %}
1. To the right of "Sign in page", click **Add message** or **Edit message**.
- ![Screenshot of the "Sign in page" section of the "Messages" settings. A button, labeled with a plus icon and "Add message", is highlighted with an orange outline.](/assets/images/enterprise/site-admin-settings/edit-message.png)
+ ![Screenshot of the "Sign in page" section of the "Messages" settings. A button, labeled with a plus icon and "Add message", is outlined.](/assets/images/enterprise/site-admin-settings/edit-message.png)
1. Under **Sign in message**, type the message you'd like users to see.
{% data reusables.enterprise_site_admin_settings.message-preview-save %}
@@ -60,7 +60,7 @@ There are several types of user messages.
{% data reusables.enterprise-accounts.messages-tab %}
1. {% ifversion ghes %}To the right of{% else %}Under{% endif %} "Sign out page", click **Add message** or **Edit message**.
- ![Screenshot of the "Sign out page" section of the "Messages" settings. A button, labeled with a plus icon and "Add message," is highlighted with an orange outline.](/assets/images/enterprise/site-admin-settings/sign-out-add-message-button.png)
+ ![Screenshot of the "Sign out page" section of the "Messages" settings. A button, labeled with a plus icon and "Add message," is outlined.](/assets/images/enterprise/site-admin-settings/sign-out-add-message-button.png)
1. Under **Sign out message**, type the message you'd like users to see.
{% ifversion ghes %}
{% data reusables.enterprise_site_admin_settings.message-preview-save %}{% else %}
@@ -84,21 +84,12 @@ If you include Markdown checkboxes in the message, all checkboxes must be select
Each time a user sees a mandatory message, an audit log event is created. The event includes the version of the message that the user saw. For more information see [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise).
-{% ifversion display-mandatory-message-again %} {% else %}
-
-> [!NOTE]
-> If you change the mandatory message for {% data variables.location.product_location %}, users who have already acknowledged the message will not see the new message.
-
-{% endif %}
-
{% data reusables.enterprise-accounts.access-enterprise %}
{% data reusables.enterprise-accounts.settings-tab %}
{% data reusables.enterprise-accounts.messages-tab %}
1. To the right of "Mandatory message", click **Add mandatory message**.
1. Under "Mandatory message", in the text box, type your message.
-{%- ifversion display-mandatory-message-again %}
1. Optionally, select **Show updated message to all users even if they dismissed the previous one**.
- {% endif %}
{% data reusables.enterprise_site_admin_settings.message-preview-save %}
{% endif %}
@@ -107,8 +98,7 @@ Each time a user sees a mandatory message, an audit log event is created. The ev
You can set a global announcement banner to be displayed to all users at the top of every page{% ifversion ghec %} within your enterprise, including every page in every organization owned by the enterprise{% endif %}.
-{% ifversion custom-banner-messages %}
-You can also create announcement banners at the organization level. For more information, see [AUTOTITLE](/organizations/managing-organization-settings/creating-an-announcement-banner-for-your-organization).{% endif %}
+You can also create announcement banners at the organization level. For more information, see [AUTOTITLE](/organizations/managing-organization-settings/creating-an-announcement-banner-for-your-organization).
{% ifversion ghes %}
You can also set an announcement banner{% ifversion ghes %} in the administrative shell using a command line utility or{% endif %} using the API. For more information, see {% ifversion ghes %}[AUTOTITLE](/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-announce) and {% endif %}[AUTOTITLE](/rest/enterprise-admin#announcements).
@@ -116,19 +106,9 @@ You can also set an announcement banner{% ifversion ghes %} in the administrativ
{% data reusables.enterprise-accounts.access-enterprise %}
{% data reusables.enterprise-accounts.settings-tab %}
-{% data reusables.enterprise-accounts.messages-tab %}{% ifversion custom-banner-messages %}{% else %}
-1. To the right of "Announcement", click **Add announcement**.{% endif %}
-1. Under "Announcement", in the text field, type the announcement you want displayed in a banner.
-1. Optionally, under "Expires on", select the calendar drop-down menu and click an expiration date.
- {% ifversion ghe-announce-dismiss %}
-
- > [!NOTE]
- > Announcements must either have an expiration date, be user dismissible, or both.
-
- {% endif %}
+{% data reusables.enterprise-accounts.messages-tab %}
{%- ifversion ghe-announce-dismiss %}
1. Optionally, to allow each user to dismiss the announcement, select **User dismissible**.
-{%- endif %}{% ifversion custom-banner-messages %}
-1. Optionally, to allow each user to dismiss the announcement, select **Allow users to dismiss the announcement**.
{%- endif %}
+1. Optionally, to allow each user to dismiss the announcement, select **Allow users to dismiss the announcement**.
{% data reusables.enterprise_site_admin_settings.message-preview-save %}
diff --git a/content/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise.md b/content/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise.md
index 7b375a99a86f..947b0113f758 100644
--- a/content/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise.md
+++ b/content/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise.md
@@ -110,7 +110,7 @@ If the existing organization uses billed apps, make sure to remove the billed ap
{%- endif %}
1. Next to the organization you want to transfer, select the {% octicon "kebab-horizontal" width="16" aria-label="Organization settings" %} dropdown menu, then click **Transfer organization**.
- ![Screenshot of an organization in the organization list. A dropdown menu, labeled with the kebab icon, is expanded and the "Transfer organization" option is highlighted with an orange outline.](/assets/images/help/business-accounts/transfer-organization.png)
+ ![Screenshot of the expanded dropdown menu labeled with the kebab icon, for an organization. The "Transfer organization" option is outlined.](/assets/images/help/business-accounts/transfer-organization.png)
1. Select the **Select enterprise** dropdown menu, start typing the name of the destination enterprise, and click the enterprise you want to transfer the organization to.
1. Click **Review transfer**.
diff --git a/content/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/configuring-visibility-for-organization-membership.md b/content/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/configuring-visibility-for-organization-membership.md
index 7697796342ad..1c0b3d2738fe 100644
--- a/content/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/configuring-visibility-for-organization-membership.md
+++ b/content/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/configuring-visibility-for-organization-membership.md
@@ -27,5 +27,5 @@ You can also enforce your default setting on all current organization members in
{% data reusables.enterprise-accounts.options-tab %}
1. Under "Default organization membership visibility", select the drop-down menu, and click **Private** or **Public**.
1. Optionally, to prevent members from changing their membership visibility from the default, select **Enforce for all enterprise members**.
- ![Screenshot of the "Default organization membership visibility" section on the enterprise's policies page. The "Enforce for all enterprise members" checkbox is highlighted with an orange outline.](/assets/images/enterprise/site-admin-settings/enforce-default-org-membership-visibility-setting.png){% ifversion ghes %}
+ ![Screenshot of the "Default organization membership visibility" section. The "Enforce for all enterprise members" checkbox is outlined.](/assets/images/enterprise/site-admin-settings/enforce-default-org-membership-visibility-setting.png){% ifversion ghes %}
1. If you'd like to enforce your new visibility setting on all existing members, use the `ghe-org-membership-update` command-line utility. For more information, see [AUTOTITLE](/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-org-membership-update).{% endif %}
diff --git a/content/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/removing-organizations-from-your-enterprise.md b/content/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/removing-organizations-from-your-enterprise.md
index 26ae4c6350a6..c0fd3c39f095 100644
--- a/content/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/removing-organizations-from-your-enterprise.md
+++ b/content/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/removing-organizations-from-your-enterprise.md
@@ -39,7 +39,7 @@ As part of the downgrade to the free plan:
1. In the search bar, begin typing the organization's name until the organization appears in the search results.
1. To the right of the organization's name, select the {% octicon "gear" aria-label="Organization settings" %} dropdown menu and click **Remove organization**.
- ![Screenshot of a list of organizations in search results. To the right of the organization name, the dropdown menu labeled with a gear icon is expanded, and the "Remove organization" option is highlighted with an orange outline.](/assets/images/help/enterprises/remove-organization.png)
+ ![Screenshot of the expanded dropdown menu labeled with a gear icon, for an organization. The "Remove organization" option is outlined.](/assets/images/help/enterprises/remove-organization.png)
1. Review the warnings, then click **Remove organization**.
## Further reading
diff --git a/content/admin/managing-accounts-and-repositories/managing-repositories-in-your-enterprise/disabling-git-ssh-access-on-your-enterprise.md b/content/admin/managing-accounts-and-repositories/managing-repositories-in-your-enterprise/disabling-git-ssh-access-on-your-enterprise.md
index 0b05f567945a..9f08e566d114 100644
--- a/content/admin/managing-accounts-and-repositories/managing-repositories-in-your-enterprise/disabling-git-ssh-access-on-your-enterprise.md
+++ b/content/admin/managing-accounts-and-repositories/managing-repositories-in-your-enterprise/disabling-git-ssh-access-on-your-enterprise.md
@@ -47,7 +47,7 @@ shortTitle: Disable SSH for Git
1. Under "Git SSH access", select the drop-down menu, and click **Disabled**.
1. Select **Enforce on all repositories**.
- ![Screenshot of the "Git SSH access" section of the site admin page for an organization. The "Enforce on all repositories" checkbox is highlighted with an orange outline.](/assets/images/enterprise/site-admin-settings/git-ssh-access-organization-setting.png)
+ ![Screenshot of the "Git SSH access" section of the site admin page for an organization. The "Enforce on all repositories" checkbox is outlined.](/assets/images/enterprise/site-admin-settings/git-ssh-access-organization-setting.png)
## Disabling Git SSH access to all repositories in your enterprise
@@ -61,4 +61,4 @@ shortTitle: Disable SSH for Git
1. Under "Git SSH access", select the drop-down menu, and click **Disabled**.
1. Select **Enforce on all repositories**.
- ![Screenshot of the "Git SSH access" section on the enterprise's policies page. The "Enforce on all repositories" checkbox is highlighted with an orange outline.](/assets/images/enterprise/site-admin-settings/git-ssh-access-appliance-setting.png)
+ ![Screenshot of the "Git SSH access" section on the enterprise's policies page. The "Enforce on all repositories" checkbox is outlined.](/assets/images/enterprise/site-admin-settings/git-ssh-access-appliance-setting.png)
diff --git a/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/impersonating-a-user.md b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/impersonating-a-user.md
index a66e55273822..900147efc729 100644
--- a/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/impersonating-a-user.md
+++ b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/impersonating-a-user.md
@@ -29,7 +29,7 @@ Actions you perform during an impersonation session are recorded as events in th
{% data reusables.enterprise_site_admin_settings.click-user %}
1. In the top left of the page, click **User info**.
- ![Screenshot of the "User info" section of the site admin page for a user. The "User info" heading is highlighted in dark orange. Under the heading, the user is marked as active.](/assets/images/enterprise/stafftools/user-info.png)
+ ![Screenshot of the "User info" section for a user. The "User info" heading is outlined. Under the heading, the user is marked as active.](/assets/images/enterprise/stafftools/user-info.png)
1. Under "Danger Zone", click **Sign in to GitHub as @username**
1. Select a reason from the dropdown list. If you select **Other** you will need to provide additional context in the text field below **Notes**. Click **Begin impersonation** to begin the session.
1. When you are ready to end the impersonation session, click **Return to your mundane life as username** in the banner at the top of the page.
diff --git a/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/managing-dormant-users.md b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/managing-dormant-users.md
index d4cb18590cfa..0dff916c0911 100644
--- a/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/managing-dormant-users.md
+++ b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/managing-dormant-users.md
@@ -58,7 +58,7 @@ Dormant users are not automatically suspended. Consider suspending dormant users
{% data reusables.enterprise_site_admin_settings.click-user %}
1. In the **User info** section, view the status of the user's account. Any users labeled with "{% octicon "hourglass" aria-hidden="true" %} Dormant" are dormant, and users labeled with "{% octicon "hourglass" aria-hidden="true" %} "Active" are not.
- ![Screenshot of the "User info" section of the site admin page for a user. The "User info" heading is highlighted in dark orange. Under the heading, the user is marked as active.](/assets/images/enterprise/stafftools/active-user.png)
+ ![Screenshot of the "User info" section for a user. The "User info" heading is outlined. Under the heading, the user is marked as active.](/assets/images/enterprise/stafftools/active-user.png)
## Configuring the dormancy threshold
diff --git a/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/managing-invitations-to-organizations-within-your-enterprise.md b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/managing-invitations-to-organizations-within-your-enterprise.md
index 07ff0aea98e3..1305c3baa424 100644
--- a/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/managing-invitations-to-organizations-within-your-enterprise.md
+++ b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/managing-invitations-to-organizations-within-your-enterprise.md
@@ -30,11 +30,11 @@ Invitations expire after 7 days. You can retry or cancel expired invitations, ei
1. Optionally, retry or cancel a single invitation.
* To the right of the invitation you want to cancel or retry, select the {% octicon "kebab-horizontal" aria-label="Show actions" %} dropdown menu and click **Retry invitation** or **Cancel invitation**.
- ![Screenshot of a user in the list of failed invitations. A dropdown menu, labeled with a kebab icon, is highlighted with an orange outline.](/assets/images/help/business-accounts/enterprise-invitation-retry-or-cancel.png)
+ ![Screenshot of a user in the list of failed invitations. A dropdown menu labeled with a kebab icon, is outlined.](/assets/images/help/business-accounts/enterprise-invitation-retry-or-cancel.png)
* To confirm, click **Yes, retry** or **Yes, cancel**.
1. Optionally, retry or cancel multiple invitations at the same time.
* Select the checkboxes next to the invitations you want to retry or cancel.
* At the top of the list, select the **X invitations selected** dropdown menu and click **Retry invitations** or **Cancel invitations**.
- ![Screenshot of the list of failed invitations. The dropdown menu above the list, labeled "2 invitations selected" is highlighted with an orange outline.](/assets/images/help/enterprises/enterprise-invitations-multiple-selection.png)
+ ![Screenshot of the list of failed invitations. The dropdown menu above the list, labeled "2 invitations selected" is outlined.](/assets/images/help/enterprises/enterprise-invitations-multiple-selection.png)
diff --git a/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/suspending-and-unsuspending-users.md b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/suspending-and-unsuspending-users.md
index edfb3fb66f2a..0987c49f615f 100644
--- a/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/suspending-and-unsuspending-users.md
+++ b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/suspending-and-unsuspending-users.md
@@ -92,7 +92,7 @@ You can create a custom message that suspended users will see when attempting to
{% data reusables.enterprise-accounts.messages-tab %}
1. To the right of "Suspended user page", click **Add message**.
- ![Screenshot of the "Suspend user page" section of the "Messages" settings. A button, labeled with a plus icon and "Add message," is highlighted with an orange outline.](/assets/images/enterprise/site-admin-settings/add-message.png)
+ ![Screenshot of the "Suspend user page" section of the "Messages" settings. A button, labeled with a plus icon and "Add message," is outlined.](/assets/images/enterprise/site-admin-settings/add-message.png)
1. In the "Suspend user message" field, type your message. You can type Markdown, or use the Markdown toolbar to style your message.
1. To see the rendered message, click **Preview**.
{% data reusables.enterprise_site_admin_settings.save-changes %}
diff --git a/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/viewing-people-in-your-enterprise.md b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/viewing-people-in-your-enterprise.md
index 4f617cc1e5c5..4fb24d97ca19 100644
--- a/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/viewing-people-in-your-enterprise.md
+++ b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/viewing-people-in-your-enterprise.md
@@ -196,7 +196,7 @@ You can view a list of all dormant users {% ifversion ghes %} who have not been
![Screenshot of the tabs above an organization name. The "People" tab is highlighted with an orange outline.](/assets/images/help/enterprises/emu-organization-people-tab.png)
1. Above the list of members, click **Type**, then select the type of members you want to view.
- ![Screenshot of the list of members. A dropdown menu labeled "Type" is outlined in orange, and an expanded dropdown shows options for "All members," "Managed by IdP groups," and "Managed directly."](/assets/images/help/enterprises/filter-by-member-type.png)
+ ![Screenshot of the list of members. A dropdown menu labeled "Type" is outlined and expanded.](/assets/images/help/enterprises/filter-by-member-type.png)
{% endif %}
diff --git a/content/admin/managing-code-security/managing-github-advanced-security-for-your-enterprise/configuring-code-scanning-for-your-appliance.md b/content/admin/managing-code-security/managing-github-advanced-security-for-your-enterprise/configuring-code-scanning-for-your-appliance.md
index 6257f844d439..be455df7584a 100644
--- a/content/admin/managing-code-security/managing-github-advanced-security-for-your-enterprise/configuring-code-scanning-for-your-appliance.md
+++ b/content/admin/managing-code-security/managing-github-advanced-security-for-your-enterprise/configuring-code-scanning-for-your-appliance.md
@@ -64,12 +64,12 @@ You can configure {% data variables.product.prodname_code_scanning %} to run {%
{% data variables.product.product_name %} can run {% data variables.product.prodname_code_scanning %} using a {% data variables.product.prodname_actions %} workflow. First, you need to provision one or more self-hosted {% data variables.product.prodname_actions %} runners in your environment. You can provision self-hosted runners at the repository, organization, or enterprise account level. See [AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners) and [AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners).
-{% ifversion code-scanning-runner-label or default-setup-self-hosted-runners-GHEC %}
+{% ifversion default-setup-self-hosted-runners-GHEC %}
If you are provisioning a self-hosted runner for {% data variables.product.prodname_codeql %} analysis, your runner must use a {% data variables.product.prodname_codeql %}-supported operating system version and CPU architecture. See the [{% data variables.product.prodname_codeql %} system requirements](https://codeql.github.com/docs/codeql-overview/system-requirements/).
If you are using default setup for {% data variables.product.prodname_code_scanning %}, you can assign self-hosted runners {% ifversion code-scanning-default-setup-customize-labels %}with the default `code-scanning` label, or you can optionally give them custom labels so that individual repositories can use different runners.{% else %}with the `code-scanning` label.{% endif %} See [AUTOTITLE](/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning#assigning-labels-to-runners).
-{% ifversion code-scanning-default-setup-self-hosted-310 or default-setup-self-hosted-runners-GHEC %} For information about using default setup for code scanning analysis of compiled languages, see [AUTOTITLE](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/codeql-code-scanning-for-compiled-languages).{% endif %}
+For information about using default setup for code scanning analysis of compiled languages, see [AUTOTITLE](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/codeql-code-scanning-for-compiled-languages).
{% endif %}
diff --git a/content/admin/managing-code-security/managing-github-advanced-security-for-your-enterprise/configuring-dependency-review-for-your-appliance.md b/content/admin/managing-code-security/managing-github-advanced-security-for-your-enterprise/configuring-dependency-review-for-your-appliance.md
index 745157448606..e3497f48f3d5 100644
--- a/content/admin/managing-code-security/managing-github-advanced-security-for-your-enterprise/configuring-dependency-review-for-your-appliance.md
+++ b/content/admin/managing-code-security/managing-github-advanced-security-for-your-enterprise/configuring-dependency-review-for-your-appliance.md
@@ -4,7 +4,7 @@ shortTitle: Configuring dependency review
intro: 'To help users understand dependency changes when reviewing pull requests, you can enable, configure, and disable dependency review for {% data variables.product.prodname_ghe_server %}.'
product: '{% data reusables.gated-features.dependency-review %}'
versions:
- feature: dependency-review-action-ghes
+ ghes: '*'
type: how_to
topics:
- Advanced Security
diff --git a/content/admin/managing-code-security/managing-github-advanced-security-for-your-enterprise/enabling-github-advanced-security-for-your-enterprise.md b/content/admin/managing-code-security/managing-github-advanced-security-for-your-enterprise/enabling-github-advanced-security-for-your-enterprise.md
index 1984a43fb08b..b4c4822723de 100644
--- a/content/admin/managing-code-security/managing-github-advanced-security-for-your-enterprise/enabling-github-advanced-security-for-your-enterprise.md
+++ b/content/admin/managing-code-security/managing-github-advanced-security-for-your-enterprise/enabling-github-advanced-security-for-your-enterprise.md
@@ -23,7 +23,7 @@ topics:
When you enable {% data variables.product.prodname_GH_advanced_security %} for your enterprise, repository administrators in all organizations can enable the features unless you set up a policy to restrict access. See [AUTOTITLE](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise).
-{% ifversion secret-scanning-enterprise-level-api %}{% data reusables.secret-scanning.secret-scanning-enterprise-level-api %}{% endif %}
+{% data reusables.secret-scanning.secret-scanning-enterprise-level-api %}
For guidance on a phased deployment of GitHub Advanced Security, see [AUTOTITLE](/code-security/adopting-github-advanced-security-at-scale/introduction-to-adopting-github-advanced-security-at-scale).
diff --git a/content/admin/managing-code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise.md b/content/admin/managing-code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise.md
index dd0c21ddc699..1fd37a211f04 100644
--- a/content/admin/managing-code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise.md
+++ b/content/admin/managing-code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise.md
@@ -3,7 +3,8 @@ title: Managing GitHub Advanced Security features for your enterprise
intro: 'You can control {% data variables.product.prodname_GH_advanced_security %} features that secure and analyze code across all organizations owned by your enterprise.'
permissions: 'Enterprise owners can manage {% data variables.product.prodname_advanced_security %} features for organizations in an enterprise.'
versions:
- feature: secret-scanning-enterprise-level
+ ghec: '*'
+ ghes: '*'
type: how_to
topics:
- Alerts
@@ -31,7 +32,7 @@ To manage individual {% data variables.product.prodname_GH_advanced_security %}
{% endif %}
-{% ifversion secret-scanning-enterprise-level-api %}{% data reusables.secret-scanning.secret-scanning-enterprise-level-api %}{% endif %}
+{% data reusables.secret-scanning.secret-scanning-enterprise-level-api %}
{% ifversion ghes %}For information about buying a license for {% data variables.product.prodname_GH_advanced_security %}, see [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security).{% elsif ghec %}For information about buying a license for {% data variables.product.prodname_GH_advanced_security %}, see [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/signing-up-for-github-advanced-security).{% endif %}
@@ -60,4 +61,4 @@ When you enable one or more security and analysis features for existing reposito
> [!NOTE]
> When a custom link is configured for an organization, the organization-level value overrides the custom link set for the enterprise. See [AUTOTITLE](/code-security/secret-scanning/protecting-pushes-with-secret-scanning).
- ![Screenshot of the "Push protection" section of the settings for security and analysis features. The checkbox and the text field used for enabling a custom link are outlined in dark orange.](/assets/images/help/organizations/secret-scanning-custom-link.png){% endif %}
+ ![Screenshot of "Push protection" settings. The checkbox and text field used for enabling a custom link are outlined.](/assets/images/help/organizations/secret-scanning-custom-link.png){% endif %}
diff --git a/content/admin/managing-code-security/securing-your-enterprise/creating-a-custom-security-configuration-for-your-enterprise.md b/content/admin/managing-code-security/securing-your-enterprise/creating-a-custom-security-configuration-for-your-enterprise.md
index 628c55033a88..b5f8554f3627 100644
--- a/content/admin/managing-code-security/securing-your-enterprise/creating-a-custom-security-configuration-for-your-enterprise.md
+++ b/content/admin/managing-code-security/securing-your-enterprise/creating-a-custom-security-configuration-for-your-enterprise.md
@@ -78,7 +78,7 @@ When creating a security configuration, keep in mind that:
1. To help identify your {% data variables.product.prodname_custom_security_configuration %} and clarify its purpose on the "Configurations" page, name your configuration and create a description.
1. In the "{% data variables.product.prodname_GH_advanced_security %} features" row, choose whether to include or exclude {% data variables.product.prodname_GH_advanced_security %} (GHAS) features. If you plan to apply a {% data variables.product.prodname_custom_security_configuration %} with GHAS features to private repositories, you must have available GHAS licenses for each active unique committer to those repositories, or the features will not be enabled. See [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security).
1. In the "Dependency graph and {% data variables.product.prodname_dependabot %}" section of the security settings table, choose whether you want to enable, disable, or keep the existing settings for the following security features:
- * {% data variables.product.prodname_dependabot_alerts %}. To learn about {% data variables.product.prodname_dependabot %}, see "[AUTOTITLE](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)."
+ * {% data variables.product.prodname_dependabot_alerts %}. To learn about {% data variables.product.prodname_dependabot %}, see [AUTOTITLE](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts).
> [!NOTE] {% data variables.dependabot.auto_triage_rules %} are not available to set at enterprise level. If an enterprise-level security configuration is applied to a repository, it can still have {% data variables.dependabot.auto_triage_rules %} enabled, but you can't turn off these rules at the level of the enterprise.
* Security updates. To learn about security updates, see [AUTOTITLE](/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates).
> [!NOTE]
diff --git a/content/admin/managing-github-actions-for-your-enterprise/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-azure-blob-storage.md b/content/admin/managing-github-actions-for-your-enterprise/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-azure-blob-storage.md
index a21d5b251c5c..85a576560365 100644
--- a/content/admin/managing-github-actions-for-your-enterprise/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-azure-blob-storage.md
+++ b/content/admin/managing-github-actions-for-your-enterprise/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-azure-blob-storage.md
@@ -53,7 +53,7 @@ To configure {% data variables.product.prodname_ghe_server %} to use OIDC with a
![Screenshot of the "Overview" page in Entra ID. The first four items in the "Essentials" section are highlighted with an orange outline.](/assets/images/azure/azure-aad-app-storage-ids.png)
1. In your Entra ID application, under "Manage", click **Certificates & secrets**, select the **Federated credentials** tab, then click **Add credential**.
- ![Screenshot of the "Federated credentials" page in Entra ID. The "Certificates & secrets" tab, the "Federated credentials" tab, and the "Add credential" button are highlighted with orange outlines.](/assets/images/azure/azure-federated-credential.png)
+ ![Screenshot of the page to manage "Certificates & secrets". The page link, "Federated credentials" tab, and "Add credential" button are outlined.](/assets/images/azure/azure-federated-credential.png)
1. Enter the following details for the credential:
1. For "Federated credential scenario", select **Other issuer**.
1. For "Issuer", enter `https://HOSTNAME/_services/token`, where `HOSTNAME` is the public hostname for {% data variables.location.product_location_enterprise %}. For example, `https://my-ghes-host.example.com/_services/token`.
diff --git a/content/admin/managing-github-actions-for-your-enterprise/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-google-cloud-storage.md b/content/admin/managing-github-actions-for-your-enterprise/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-google-cloud-storage.md
index 83baa2a51626..f5f216e5f733 100644
--- a/content/admin/managing-github-actions-for-your-enterprise/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-google-cloud-storage.md
+++ b/content/admin/managing-github-actions-for-your-enterprise/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-google-cloud-storage.md
@@ -3,7 +3,7 @@ title: Enabling GitHub Actions with Google Cloud Storage
intro: 'You can enable {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_server %} and use Google Cloud Storage to store data generated by workflow runs.'
permissions: 'Site administrators can enable {% data variables.product.prodname_actions %} and configure enterprise settings.'
versions:
- feature: actions-ghes-gcp-storage
+ ghes: '*'
type: how_to
topics:
- Actions
diff --git a/content/admin/managing-github-actions-for-your-enterprise/enabling-github-actions-for-github-enterprise-server/managing-self-hosted-runners-for-dependabot-updates.md b/content/admin/managing-github-actions-for-your-enterprise/enabling-github-actions-for-github-enterprise-server/managing-self-hosted-runners-for-dependabot-updates.md
index b807c439e32a..fb160590be46 100644
--- a/content/admin/managing-github-actions-for-your-enterprise/enabling-github-actions-for-github-enterprise-server/managing-self-hosted-runners-for-dependabot-updates.md
+++ b/content/admin/managing-github-actions-for-your-enterprise/enabling-github-actions-for-github-enterprise-server/managing-self-hosted-runners-for-dependabot-updates.md
@@ -23,18 +23,11 @@ To use {% data variables.product.prodname_dependabot_updates %} on {% data varia
## Prerequisites
-{% ifversion dependabot-updates-github-connect %}
Configuring self-hosted runners is only one step in the middle of the process for enabling {% data variables.product.prodname_dependabot_updates %}. There are several steps you must follow before these steps, including configuring {% data variables.location.product_location %} to use {% data variables.product.prodname_actions %} with self-hosted runners. For more information, see [AUTOTITLE](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise).
-{% else %}
-Before you configure self-hosted runners for {% data variables.product.prodname_dependabot_updates %}, you must:
-
-* Configure {% data variables.location.product_location %} to use {% data variables.product.prodname_actions %} with self-hosted runners. For more information, see [AUTOTITLE](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server).
-* Enable {% data variables.product.prodname_dependabot_alerts %} for your enterprise. For more information, see [AUTOTITLE](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise).
-{% endif %}
## Configuring self-hosted runners for {% data variables.product.prodname_dependabot_updates %}
-## # System requirements for {% data variables.product.prodname_dependabot %} runners
+### System requirements for {% data variables.product.prodname_dependabot %} runners
{% data reusables.dependabot.dependabot-runners-system-requirements %}
diff --git a/content/admin/managing-github-actions-for-your-enterprise/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server.md b/content/admin/managing-github-actions-for-your-enterprise/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server.md
index 8ed1ef4af57b..af706adcf3e7 100644
--- a/content/admin/managing-github-actions-for-your-enterprise/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server.md
+++ b/content/admin/managing-github-actions-for-your-enterprise/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server.md
@@ -79,9 +79,7 @@ All other {% data variables.product.prodname_actions %} data, such as the workfl
* Azure Blob storage
* Amazon S3
-{%- ifversion actions-ghes-gcp-storage %}
* Google Cloud Storage
-{%- endif %}
* S3-compatible MinIO cluster
> [!NOTE]
@@ -101,9 +99,7 @@ Follow one of the procedures below to enable {% data variables.product.prodname_
* [Enabling GitHub Actions with Azure Blob storage](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-azure-blob-storage)
* [Enabling GitHub Actions with Amazon S3 storage](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-amazon-s3-storage)
-{%- ifversion actions-ghes-gcp-storage %}
* [Enabling GitHub Actions with Google Cloud Storage](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-google-cloud-storage)
-{%- endif %}
* [Enabling GitHub Actions with MinIO storage](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-minio-storage)
## Managing access permissions for {% data variables.product.prodname_actions %} in your enterprise
diff --git a/content/admin/managing-github-actions-for-your-enterprise/getting-started-with-github-actions-for-your-enterprise/introducing-github-actions-to-your-enterprise.md b/content/admin/managing-github-actions-for-your-enterprise/getting-started-with-github-actions-for-your-enterprise/introducing-github-actions-to-your-enterprise.md
index 88dedd6690aa..1fae152244f2 100644
--- a/content/admin/managing-github-actions-for-your-enterprise/getting-started-with-github-actions-for-your-enterprise/introducing-github-actions-to-your-enterprise.md
+++ b/content/admin/managing-github-actions-for-your-enterprise/getting-started-with-github-actions-for-your-enterprise/introducing-github-actions-to-your-enterprise.md
@@ -29,11 +29,9 @@ Then,{% else %}First,{% endif %} decide whether you'll allow third-party actions
For more information, see [AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#managing-github-actions-permissions-for-your-repository), [AUTOTITLE](/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#managing-github-actions-permissions-for-your-organization), and [AUTOTITLE](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-to-restrict-the-use-of-github-actions-in-your-enterprise).
-{% ifversion ghec or ghes %}
Consider combining OpenID Connect (OIDC) with reusable workflows to enforce consistent deployments across your repository, organization, or enterprise. You can do this by defining trust conditions on cloud roles based on reusable workflows. For more information, see [AUTOTITLE](/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows).
-{% endif %}
-You can access information about activity related to {% data variables.product.prodname_actions %} in the audit logs for your enterprise. If your business needs require retaining this information longer than audit log data is retained, plan how you'll export and store this data outside of {% data variables.product.prodname_dotcom %}. For more information, see {% ifversion ghec %}[AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/exporting-audit-log-activity-for-your-enterprise) and [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise).{% else %}{% ifversion audit-log-streaming %}[AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise) and {% endif %}[AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/log-forwarding).{% endif %}
+You can access information about activity related to {% data variables.product.prodname_actions %} in the audit logs for your enterprise. If your business needs require retaining this information longer than audit log data is retained, plan how you'll export and store this data outside of {% data variables.product.prodname_dotcom %}. For more information, see {% ifversion ghec %}[AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/exporting-audit-log-activity-for-your-enterprise) and [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise).{% else %}[AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise) and [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/log-forwarding).{% endif %}
{% ifversion custom-org-roles %}You can practice the principle of least privilege by administering custom organization roles for access to settings in your {% data variables.product.prodname_actions %} CI/CD pipeline. For more information about custom organization roles, see [AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles).{% endif %}
diff --git a/content/admin/managing-github-actions-for-your-enterprise/managing-access-to-actions-from-githubcom/about-using-actions-in-your-enterprise.md b/content/admin/managing-github-actions-for-your-enterprise/managing-access-to-actions-from-githubcom/about-using-actions-in-your-enterprise.md
index 2a57a1614116..06084b3be460 100644
--- a/content/admin/managing-github-actions-for-your-enterprise/managing-access-to-actions-from-githubcom/about-using-actions-in-your-enterprise.md
+++ b/content/admin/managing-github-actions-for-your-enterprise/managing-access-to-actions-from-githubcom/about-using-actions-in-your-enterprise.md
@@ -45,7 +45,9 @@ Each action is a repository in the `actions` organization, and each action repos
> [!NOTE]
> * When using setup actions (such as `actions/setup-LANGUAGE`) on {% data variables.product.product_name %} with self-hosted runners, you might need to set up the tools cache on runners that do not have internet access. For more information, see [AUTOTITLE](/admin/github-actions/managing-access-to-actions-from-githubcom/setting-up-the-tool-cache-on-self-hosted-runners-without-internet-access).
+> * All `actions/setup-LANGUAGE` action repositories currently support three platforms: macOS, Windows, and Ubuntu.
> * When {% data variables.product.product_name %} is updated, bundled actions are automatically replaced with default versions in the upgrade package.
+> * Being bundled with {% data variables.product.prodname_ghe_server %} means the action is available within that environment, but it doesn’t automatically guarantee compatibility with all platforms or self-hosted runners.
## Configuring access to actions on {% data variables.product.prodname_dotcom_the_website %}
@@ -53,13 +55,9 @@ Each action is a repository in the `actions` organization, and each action repos
The recommended approach is to enable automatic access to all actions from {% data variables.product.prodname_dotcom_the_website %}. You can do this by using {% data variables.product.prodname_github_connect %} to integrate {% data variables.product.product_name %} with {% data variables.product.prodname_ghe_cloud %}. For more information, see [AUTOTITLE](/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect).
-{% ifversion ghes %}
-
> [!NOTE]
> Before you can configure access to actions on {% data variables.product.prodname_dotcom_the_website %}, you must configure {% data variables.location.product_location %} to use {% data variables.product.prodname_actions %}. For more information, see [AUTOTITLE](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server).
-{% endif %}
-
{% data reusables.actions.self-hosted-runner-networking-to-dotcom %}
{% data reusables.actions.enterprise-limit-actions-use %}
diff --git a/content/admin/managing-github-actions-for-your-enterprise/managing-access-to-actions-from-githubcom/using-the-latest-version-of-the-official-bundled-actions.md b/content/admin/managing-github-actions-for-your-enterprise/managing-access-to-actions-from-githubcom/using-the-latest-version-of-the-official-bundled-actions.md
index 298ef473bd04..dc2ba6e8248e 100644
--- a/content/admin/managing-github-actions-for-your-enterprise/managing-access-to-actions-from-githubcom/using-the-latest-version-of-the-official-bundled-actions.md
+++ b/content/admin/managing-github-actions-for-your-enterprise/managing-access-to-actions-from-githubcom/using-the-latest-version-of-the-official-bundled-actions.md
@@ -38,7 +38,7 @@ Once {% data variables.product.prodname_github_connect %} is configured, you can
1. Under **Reason**, type a reason for unlocking the repository, then click **Unlock**.
1. Now that the repository is unlocked, you can leave the site admin pages and delete the repository within the `actions` organization. At the top of the page, click the repository name, in this example **checkout**, to return to the summary page.
- ![Screenshot of the site admin details for the actions/checkout repository. The name of the repository, "checkout", is a link and is highlighted with an orange outline.](/assets/images/enterprise/site-admin-settings/display-repository-admin-summary.png)
+ ![Screenshot of the site admin details for the actions/checkout repository. The name of the repository, "checkout", is a link and is outlined.](/assets/images/enterprise/site-admin-settings/display-repository-admin-summary.png)
1. Under "Repository info", click **View code** to leave the site admin pages and display the `checkout` repository.
![Screenshot of the site admin details for a repository. The "View code" link is highlighted with an orange outline.](/assets/images/enterprise/site-admin-settings/exit-admin-page-for-repository.png)
diff --git a/content/admin/managing-iam/iam-configuration-reference/saml-configuration-reference.md b/content/admin/managing-iam/iam-configuration-reference/saml-configuration-reference.md
index da95aafe1d71..24a9d261b237 100644
--- a/content/admin/managing-iam/iam-configuration-reference/saml-configuration-reference.md
+++ b/content/admin/managing-iam/iam-configuration-reference/saml-configuration-reference.md
@@ -129,6 +129,36 @@ To specify more than one value for an attribute, use multiple `
```
+{% ifversion ghes %}
+
+## SAML signing certificate for AuthnRequests
+
+When you first set up {% data variables.product.prodname_ghe_server %} and start the instance, a self-signed SAML signing certificate is generated, separate from the IdP's SAML certificate. This certificate is used to sign SAML `AuthnRequests` sent to the IdP and is valid for ten years. It is stored at `/data/user/common/saml-sp.p12` and you can view details in base64-encoded format at `http(s)://HOSTNAME/saml/metadata`.
+
+If your IdP validates the SAML signing certificate, or if SAML encrypted assertions are enabled, users may face authentication issues when the certificate expires. To check the expiration date, a {% data variables.product.prodname_ghe_server %} administrator can connect to the server via SSH and run the command below. See [Connecting to the administrative shell over SSH](/admin/administering-your-instance/administering-your-instance-from-the-command-line/accessing-the-administrative-shell-ssh#connecting-to-the-administrative-shell-over-ssh).
+
+`sudo openssl pkcs12 -in /data/user/common/saml-sp.p12 -clcerts -nokeys -password pass: | sudo openssl x509 -noout -enddate`
+
+To re-generate this SAML SP signing certificate if it has expired and it's required by the IdP or encrypted assertions, a {% data variables.product.prodname_ghe_server %} administrator can run the commands below in a {% data variables.product.prodname_ghe_server %} SSH session.
+
+>[!NOTE]
+> The `nomad` commands will be briefly disruptive to users as the `github-unicorn` service restarts.
+
+``` shell
+# Backup the old certificate
+sudo cp /data/user/common/saml-sp.p12 /data/user/common/saml-sp.p12-$(date +%d%m%Y_%H%M%S)
+
+saml_tempdir=$(sudo mktemp -d)
+sudo openssl req -new -newkey rsa:4096 -days 3650 -nodes -x509 -sha256 -subj "/CN=github_enterprise" -keyout $saml_tempdir/saml.key -out $saml_tempdir/saml.crt
+sudo openssl pkcs12 -export -inkey $saml_tempdir/saml.key -in $saml_tempdir/saml.crt -nodes -password pass: -out /data/user/common/saml-sp.p12
+sudo rm -rf $saml_tempdir
+
+sudo nomad stop github-unicorn
+sudo nomad run -hcl1 /etc/nomad-jobs/github/unicorn.hcl
+```
+
+{% endif %}
+
## Session duration and timeout
To prevent a person from authenticating with your IdP and staying authorized indefinitely, {% data variables.product.product_name %} periodically invalidates the session for each user account with access to {% ifversion ghec %}your enterprise's resources{% elsif ghes %}{% data variables.location.product_location %}{% endif %}. After invalidation, the person must authenticate with your IdP once again.
diff --git a/content/admin/managing-iam/using-saml-for-enterprise-iam/enabling-encrypted-assertions.md b/content/admin/managing-iam/using-saml-for-enterprise-iam/enabling-encrypted-assertions.md
index e160b0c3599e..e7233377e2ce 100644
--- a/content/admin/managing-iam/using-saml-for-enterprise-iam/enabling-encrypted-assertions.md
+++ b/content/admin/managing-iam/using-saml-for-enterprise-iam/enabling-encrypted-assertions.md
@@ -49,3 +49,9 @@ To enable encrypted assertions, you must provide {% data variables.location.prod
{% data reusables.enterprise_site_admin_settings.wait-for-configuration-run %}
If you enabled SAML debugging to test authentication with encrypted assertions, disable SAML debugging when you're done testing. For more information, see [AUTOTITLE](/admin/identity-and-access-management/using-saml-for-enterprise-iam/troubleshooting-saml-authentication#configuring-saml-debugging).
+
+## SAML signing certificate for AuthnRequests
+
+With encrypted assertions, {% data variables.product.prodname_ghe_server %} relies on the SAML signing certificate private key to decrypt assertions. This certificate is automatically generated when {% data variables.product.prodname_ghe_server %} is set up, and it is valid for 10 years.
+
+You can find more details about the SAML signing certificate, how long it is valid for, and how to regenerate it if needed in [AUTOTITLE](/admin/managing-iam/iam-configuration-reference/saml-configuration-reference#saml-signing-certificate-for-authnrequests).
diff --git a/content/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics.md b/content/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics.md
index a7dc76479802..d1eb5920d41c 100644
--- a/content/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics.md
+++ b/content/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics.md
@@ -96,7 +96,6 @@ The following aggregate metrics will be collected and transmitted on a daily bas
| AN | `ghe_stats.users.total_users` | Number of user accounts |
| AO | `ghe_stats.users.admin_users` | Number of user accounts that are site administrators |
| AP | `ghe_stats.users.suspended_users` | Number of user accounts that are suspended |
-| {% ifversion actions-server-statistics %} |
| AQ | `actions_stats.number_of_repos_using_actions` | Number of repositories using {% data variables.product.prodname_actions %} |
| AR | `actions_stats.percentage_of_repos_using_actions` | Percentage of repositories using {% data variables.product.prodname_actions %} |
| AS | `packages_stats.registry_enabled` | Whether {% data variables.product.prodname_registry %} with repository-scoped packages is enabled for {% data variables.location.product_location %} |
@@ -167,7 +166,6 @@ The following aggregate metrics will be collected and transmitted on a daily bas
| DF |`packages_stats.ecosystems.containers.daily_update_count` | Number of container images updated |
| DG |`packages_stats.ecosystems.containers.daily_delete_count` | Number of container images deleted |
| DH | `packages_stats.ecosystems.containers.daily_create_count` | Number of container images created |
-| {% endif %} |
## {% data variables.product.prodname_server_statistics %} data examples
diff --git a/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise.md b/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise.md
index 2016679a1073..0f48748aae96 100644
--- a/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise.md
+++ b/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise.md
@@ -43,14 +43,12 @@ In addition to viewing your audit log, you can monitor activity in your enterpri
As an enterprise owner{% ifversion ghes %} or site administrator{% endif %}, you can interact with the audit log data for your enterprise in several ways:
* You can view the audit log for your enterprise. For more information, see [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/accessing-the-audit-log-for-your-enterprise).
* You can search the audit log for specific events{% ifversion ghec %} and export audit log data{% endif %}. For more information, see [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/searching-the-audit-log-for-your-enterprise){% ifversion ghec %} and [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/exporting-audit-log-activity-for-your-enterprise){% endif %}.{% ifversion token-audit-log %}
-* You can identify all events that were performed by a specific access token. For more information, see [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/identifying-audit-log-events-performed-by-an-access-token).{% endif %}{% ifversion audit-data-retention-tab %}
-* You can configure settings, such as the retention period for audit log events{% ifversion enable-git-events %} and whether Git events are included{% endif %}. For more information, see [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/configuring-the-audit-log-for-your-enterprise).{% endif %}
+* You can identify all events that were performed by a specific access token. For more information, see [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/identifying-audit-log-events-performed-by-an-access-token).{% endif %}{% ifversion ghes %}
+* You can configure settings, such as the retention period for audit log events and whether Git events are included. For more information, see [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/configuring-the-audit-log-for-your-enterprise).{% endif %}
{%- ifversion enterprise-audit-log-ip-addresses %}
* You can display the IP address associated with events in the audit log. For more information, see [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/displaying-ip-addresses-in-the-audit-log-for-your-enterprise).
{%- endif %}
-{%- ifversion audit-log-streaming %}
* You can stream audit and Git events data from {% data variables.product.prodname_dotcom %} to an external data management system. For more information, see [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise).
-{%- endif %}
{%- ifversion ghes %}
* You can forward audit and system logs, from your enterprise to an third-party hosted monitoring system. For more information, see [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/log-forwarding).
{%- endif %}
diff --git a/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/configuring-the-audit-log-for-your-enterprise.md b/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/configuring-the-audit-log-for-your-enterprise.md
index 348342a317c4..739c2241c71e 100644
--- a/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/configuring-the-audit-log-for-your-enterprise.md
+++ b/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/configuring-the-audit-log-for-your-enterprise.md
@@ -4,7 +4,7 @@ intro: You can configure settings for your enterprise's audit log.
shortTitle: Configure audit logs
permissions: Enterprise owners can configure the audit log.
versions:
- feature: audit-data-retention-tab
+ ghes: '*'
type: how_to
topics:
- Auditing
@@ -16,9 +16,7 @@ topics:
You can configure a retention period for audit log data and see index storage details.
-{% ifversion enable-git-events %}
After you configure a retention period, you can enable or disable Git-related events from appearing in the audit log.
-{% endif %}
## Configuring a retention period for audit log data
@@ -31,15 +29,11 @@ You can configure a retention period for audit log data for {% data variables.lo
1. Under "Configure audit log retention settings", select the dropdown menu and click a retention period.
1. Click **Save**.
-{% ifversion enable-git-events %}
-
## Managing Git events in the audit log
You can enable or disable Git-related events, such as `git.clone` and `git.push`, from appearing in your audit log. For a list of the Git events are logged, see [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise#git).
-{% ifversion ghes %}
If you do enable Git events, due to the large number of Git events that are logged, we recommend monitoring your instance's file storage and reviewing your related alert configurations. For more information, see [AUTOTITLE](/admin/enterprise-management/monitoring-your-appliance/recommended-alert-thresholds#monitoring-storage).
-{% endif %}
Before you can enable Git events in the audit log, you must configure a retention period for audit log data other than "infinite." For more information, see [Configuring a retention period for audit log data](#configuring-a-retention-period-for-audit-log-data).
@@ -56,5 +50,3 @@ Before you can enable Git events in the audit log, you must configure a retentio
![Screenshot of the audit log. The checkbox to enable Git events in the audit log is highlighted with an orange outline.](/assets/images/help/enterprises/enable-git-events-checkbox.png)
1. Click **Save**.
-
-{% endif %}
diff --git a/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md b/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md
index 7c39fd68276f..018a9f422a69 100644
--- a/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md
+++ b/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md
@@ -2,7 +2,7 @@
title: Streaming the audit log for your enterprise
intro: 'Learn how to stream audit and Git events data from {% data variables.product.prodname_dotcom %} to an external data management system.'
versions:
- feature: audit-log-streaming
+ ghes: '*'
ghec: '*'
type: tutorial
topics:
@@ -319,8 +319,6 @@ To restart streaming, click **Resume stream**.
## Enabling audit log streaming of API requests
->[!NOTE] This feature is currently in {% data variables.release-phases.public_preview %} and subject to change.
-
{% data reusables.enterprise-accounts.access-enterprise %}
{% data reusables.enterprise-accounts.settings-tab %}
{% data reusables.enterprise-accounts.audit-log-tab %}
diff --git a/content/admin/monitoring-and-managing-your-instance/configuring-clustering/rebalancing-cluster-workloads.md b/content/admin/monitoring-and-managing-your-instance/configuring-clustering/rebalancing-cluster-workloads.md
index 985e4406f60d..5fab7cb4e550 100644
--- a/content/admin/monitoring-and-managing-your-instance/configuring-clustering/rebalancing-cluster-workloads.md
+++ b/content/admin/monitoring-and-managing-your-instance/configuring-clustering/rebalancing-cluster-workloads.md
@@ -5,7 +5,7 @@ intro: 'You can force your {% data variables.product.product_name %} cluster to
product: '{% data reusables.gated-features.cluster %}'
permissions: 'People with administrative SSH access to a {% data variables.product.product_name %} instance can rebalance cluster workloads on the instance.'
versions:
- feature: cluster-rebalancing
+ ghes: '*'
type: how_to
topics:
- Clustering
diff --git a/content/admin/monitoring-and-managing-your-instance/configuring-clustering/replacing-a-cluster-node.md b/content/admin/monitoring-and-managing-your-instance/configuring-clustering/replacing-a-cluster-node.md
index 8257d7de4fa4..8b5c82e1ce94 100644
--- a/content/admin/monitoring-and-managing-your-instance/configuring-clustering/replacing-a-cluster-node.md
+++ b/content/admin/monitoring-and-managing-your-instance/configuring-clustering/replacing-a-cluster-node.md
@@ -21,9 +21,7 @@ topics:
You can replace a functional node in a {% data variables.product.product_name %} cluster, or you can replace a node that has failed unexpectedly.
-{% ifversion cluster-rebalancing %}
After you replace a node, {% data variables.location.product_location %} does not automatically distribute jobs to the new node. You can force your instance to balance jobs across nodes. For more information, see [AUTOTITLE](/admin/enterprise-management/configuring-clustering/rebalancing-cluster-workloads).
-{% endif %}
> [!WARNING]
> To avoid conflicts, do not reuse a hostname that was previously assigned to a node in the cluster.
diff --git a/content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/monitoring-using-snmp.md b/content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/monitoring-using-snmp.md
index 08ddcae531a4..91284d8316e9 100644
--- a/content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/monitoring-using-snmp.md
+++ b/content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/monitoring-using-snmp.md
@@ -20,7 +20,7 @@ topics:
---
SNMP is a common standard for monitoring devices over a network. We strongly recommend enabling SNMP so you can monitor the health of {% data variables.location.product_location %} and know when to add more memory, storage, or processor power to the host machine.
-{% data variables.product.prodname_enterprise %} has a standard SNMP installation, so you can take advantage of the [many plugins](https://www.monitoring-plugins.org/doc/man/check_snmp.html) available for Nagios or for any other monitoring system.
+{% data variables.product.prodname_enterprise %} has a standard SNMP installation, so you can take advantage of the [many plugins](https://nagios-plugins.org/doc/man/check_snmp.html) available for Nagios or for any other monitoring system.
## Configuring SNMP v2c
diff --git a/content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/troubleshooting-resource-allocation-problems.md b/content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/troubleshooting-resource-allocation-problems.md
index fb7aa5366772..975f78c3b226 100644
--- a/content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/troubleshooting-resource-allocation-problems.md
+++ b/content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/troubleshooting-resource-allocation-problems.md
@@ -27,7 +27,7 @@ shortTitle: Troubleshooting resource allocation problems
We recommend using the monitor dashboard to stay informed on your appliance's resource health and make decisions on how to fix high usage issues, such as the ones outlined on this page.
-For system-critical issues, and prior to making modifications to your appliance, we highly recommend contacting us by visiting {% data variables.contact.contact_ent_support %} and including your support bundle. For more information, see "[Providing data to {% data variables.product.prodname_enterprise %} Support](/enterprise/{{ currentVersion}}/admin/guides/enterprise-support/providing-data-to-github-support#creating-and-sharing-support-bundles)."
+For system-critical issues, and prior to making modifications to your appliance, we highly recommend contacting us by visiting {% data variables.contact.contact_ent_support %} and including your support bundle. For more information, see [Providing data to {% data variables.product.prodname_enterprise %} Support](/enterprise/{{ currentVersion}}/admin/guides/enterprise-support/providing-data-to-github-support#creating-and-sharing-support-bundles).
## High CPU usage
diff --git a/content/admin/monitoring-and-managing-your-instance/updating-the-virtual-machine-and-physical-resources/increasing-storage-capacity.md b/content/admin/monitoring-and-managing-your-instance/updating-the-virtual-machine-and-physical-resources/increasing-storage-capacity.md
index 6111cc25a88a..2aa361f5d3ed 100644
--- a/content/admin/monitoring-and-managing-your-instance/updating-the-virtual-machine-and-physical-resources/increasing-storage-capacity.md
+++ b/content/admin/monitoring-and-managing-your-instance/updating-the-virtual-machine-and-physical-resources/increasing-storage-capacity.md
@@ -69,15 +69,41 @@ Root storage refers to the total size of your instance's root disk. The availabl
> Before increasing the root partition size, you must put your instance in maintenance mode. For more information, see [AUTOTITLE](/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode).
1. Attach a new disk to your {% data variables.product.prodname_ghe_server %} appliance.
-1. Run the `lsblk` command to identify the new disk's device name.
+1. Run the `lsblk` command to identify the new disk's device name.{% ifversion ghes > 3.13 %}
+1. Back up your existing EFI boot partition:
+
+ ```shell
+ sudo dd if=/dev/disk/by-label/EFIBOOT of=EFIBOOT.bak bs=1M
+ ```
+
+{% endif %}
+
1. Run the `parted` command to format the disk, substituting your device name for `/dev/xvdg`:
+{% ifversion ghes < 3.14 %}
+
```shell
sudo parted /dev/xvdg mklabel msdos
sudo parted /dev/xvdg mkpart primary ext4 0% 50%
sudo parted /dev/xvdg mkpart primary ext4 50% 100%
```
+{% else %}
+
+ ```shell
+ sudo parted /dev/xvdg mklabel gpt
+ sudo parted -a optimal /dev/xvdg mkpart bios fat32 1MiB 2MiB
+ sudo parted /dev/xvdg set 1 bios_grub on
+ sudo parted -a optimal /dev/xvdg mkpart efi fat32 2MiB 512MiB
+ sudo parted /dev/xvdg set 2 esp on
+ sudo parted -a optimal /dev/xvdg mkpart primary 512MiB 50%
+ sudo parted /dev/xvdg set 3 boot off
+ sudo parted /dev/xvdg set 3 esp off
+ sudo parted -a optimal /dev/xvdg mkpart primary 50% 100%
+ ```
+
+{% endif %}
+
1. If your appliance is configured for high-availability or geo-replication, to stop replication run the `ghe-repl-stop` command on each replica node:
```shell
@@ -86,6 +112,8 @@ Root storage refers to the total size of your instance's root disk. The availabl
1. To install the {% data variables.product.prodname_ghe_server %} software on the newly partitioned disk, run the `ghe-upgrade` command. You must replace **PACKAGE-NAME.pkg** with the path to a platform-specific upgrade package that matches the version of {% data variables.product.prodname_ghe_server %} already running on the appliance. You cannot use a universal hotpatch upgrade package, such as `github-enterprise-2.11.9.hpkg`. After the `ghe-upgrade` command completes, application services will automatically terminate.
+{% ifversion ghes < 3.14 %}
+
```shell
ghe-upgrade PACKAGE-NAME.pkg -s -t /dev/xvdg1
```
@@ -96,6 +124,21 @@ Root storage refers to the total size of your instance's root disk. The availabl
sudo mkfs.ext4 -L fallback /dev/xvdg2
```
+{% else %}
+
+ ```shell
+ ghe-upgrade PACKAGE-NAME.pkg -s -t /dev/xvdg3
+ ```
+
+1. Run these commands on the secondary partitions of the newly added disk:
+
+ ```shell
+ sudo dd if=/dev/disk/by-label/EFIBOOT of=/dev/xvdg2 bs=1M
+ sudo mkfs.ext4 -L fallback /dev/xvdg4
+ ```
+
+{% endif %}
+
1. Shut down the appliance:
```shell
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..9f66fc3c9158 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
@@ -16,15 +16,15 @@ shortTitle: Enterprise Cloud trial
{% data reusables.enterprise.about-ghec %} See [AUTOTITLE](/enterprise-cloud@latest/admin/overview/about-github-enterprise-cloud).
-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.
+>You can set up a trial to evaluate features that require {% data variables.product.prodname_ghe_cloud %}, such as SAML single sign-on (SSO) and {% data variables.product.prodname_GH_advanced_security %}. For a full 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 %}
-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).
+>[!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 %}.
-You do not need to provide a payment method during the trial.
+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).
{% data reusables.enterprise.enterprise-types %}
@@ -33,15 +33,16 @@ You do not need to provide a payment method during the trial.
The trial lasts for **{% data reusables.enterprise.ghec-trial-length %} days** and includes the following features.
* Access to **most** {% data variables.product.prodname_ghe_cloud %} features.{% ifversion metered-ghe-ghas %}
+* {% data variables.product.prodname_copilot_for_business %}
+* {% data variables.product.prodname_GH_advanced_security %}
* Access to the **new billing platform**. See [AUTOTITLE](/billing/using-the-new-billing-platform/about-the-new-billing-platform-for-enterprises).{% endif %}
* An **enterprise account**, which allows you to manage multiple organizations. See [AUTOTITLE](/enterprise-cloud@latest/get-started/learning-about-github/types-of-github-accounts).
* Up to **50 seats** to grant access to users.
-* The option to set up a free trial of **{% data variables.product.prodname_GH_advanced_security %}** to test features such as {% data variables.product.prodname_code_scanning %} and {% data variables.product.prodname_secret_scanning %}. See [AUTOTITLE](/enterprise-cloud@latest/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/setting-up-a-trial-of-github-advanced-security).
## Features not included in the trial
* {% data variables.product.prodname_github_codespaces %}
-* {% data variables.product.prodname_copilot_for_business %} or {% data variables.product.prodname_copilot_enterprise %}
+* {% data variables.product.prodname_copilot_enterprise %}
* {% data variables.product.prodname_sponsors %}
* Paid {% data variables.product.prodname_marketplace %} apps
* {% data variables.product.prodname_github_connect %}
@@ -50,6 +51,10 @@ The trial lasts for **{% data reusables.enterprise.ghec-trial-length %} days** a
If you invite an existing organization into your trial enterprise, **all of these features will be disabled**. If you remove the organization from the enterprise, the features will be re-enabled.
+## Do I need to provide a payment method?
+
+You do not need to provide a payment method to start a trial. If you want to use {% data variables.product.prodname_copilot_business_short %} during the trial, you need to provide a credit card. You **won't** be charged for using {% data variables.product.prodname_copilot_business_short %} during the trial.
+
## During the trial
After you set up your trial, you can explore {% data variables.product.prodname_ghe_cloud %} by following the suggested tasks on the "Getting started" tab of your enterprise account.
@@ -60,6 +65,8 @@ You can create up to **three new organizations** in the trial enterprise, or tra
* Billing for transferred organizations is paused during the trial and any coupons are removed. To reapply a coupon, contact {% data variables.contact.contact_support_page %}.
* Organizations created during the trial cannot be removed from the enterprise account until you purchase {% data variables.product.prodname_enterprise %}.
+For help setting up the included features, once you've started your trial, see [AUTOTITLE](/enterprise-cloud@latest/get-started/onboarding/getting-started-with-the-github-enterprise-cloud-trial).
+
## What happens when the trial ends?
You can end your trial at any time by purchasing {% data variables.product.prodname_enterprise %} or canceling the trial. Otherwise, after {% data reusables.enterprise.ghec-trial-length %} days, your trial will expire.
diff --git a/content/apps/creating-github-apps/about-creating-github-apps/migrating-oauth-apps-to-github-apps.md b/content/apps/creating-github-apps/about-creating-github-apps/migrating-oauth-apps-to-github-apps.md
index f2eaf543c0ef..b6e358ab8a4f 100644
--- a/content/apps/creating-github-apps/about-creating-github-apps/migrating-oauth-apps-to-github-apps.md
+++ b/content/apps/creating-github-apps/about-creating-github-apps/migrating-oauth-apps-to-github-apps.md
@@ -20,10 +20,10 @@ shortTitle: 'Migrate from {% data variables.product.prodname_oauth_apps %}'
{% data variables.product.prodname_github_apps %} are the recommended way to integrate with {% data variables.product.company_short %}. {% data variables.product.prodname_github_apps %} offer many advantages over {% data variables.product.prodname_oauth_apps %}, including:
-* enhanced security features, like fine-grained permissions, choice over repository access, and short lived tokens
-* the ability to act independently of or on behalf of a user
-* scalable rate limits
-* built-in webhooks
+* Enhanced security features, like fine-grained permissions, choice over repository access, and short lived tokens
+* The ability to act independently of or on behalf of a user
+* Scalable rate limits
+* Built-in webhooks
For more information, see [AUTOTITLE](/apps/creating-github-apps/setting-up-a-github-app/about-creating-github-apps#using-a-github-app-instead-of-an-oauth-app).
diff --git a/content/apps/creating-github-apps/authenticating-with-a-github-app/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow.md b/content/apps/creating-github-apps/authenticating-with-a-github-app/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow.md
index dafdc9e32f4e..951a7d88b9d6 100644
--- a/content/apps/creating-github-apps/authenticating-with-a-github-app/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow.md
+++ b/content/apps/creating-github-apps/authenticating-with-a-github-app/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow.md
@@ -28,7 +28,7 @@ In order to use a {% data variables.product.prodname_github_app %} to make authe
1. Install the {% data variables.product.prodname_github_app %} on your user account or organization and grant it access to any repositories that you want your workflow to access. For more information, see [AUTOTITLE](/apps/maintaining-github-apps/installing-github-apps#installing-your-private-github-app-on-your-repository).
1. In your {% data variables.product.prodname_actions %} workflow, create an installation access token, which you can use to make API requests.
- {% ifversion ghes < 3.12 %}To do this, you can use a pre-made action as demonstrated in the following example. If you prefer to not use a third party action, you can fork and modify the `tibdex/github-app-token` action, or you can write a script to make your workflow create an installation token manually. For more information, see [AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app-installation).{% else %}To do this, you can use a {% data variables.product.company_short %}-owned action as demonstrated in the following example. If you prefer to not use this action, you can fork and modify the [`actions/create-github-app-token` action](https://github.com/actions/create-github-app-token), or you can write a script to make your workflow create an installation token manually. For more information, see "[AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app-installation)."{% endif %}
+ {% ifversion ghes < 3.12 %}To do this, you can use a pre-made action as demonstrated in the following example. If you prefer to not use a third party action, you can fork and modify the `tibdex/github-app-token` action, or you can write a script to make your workflow create an installation token manually. For more information, see [AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app-installation).{% else %}To do this, you can use a {% data variables.product.company_short %}-owned action as demonstrated in the following example. If you prefer to not use this action, you can fork and modify the [`actions/create-github-app-token` action](https://github.com/actions/create-github-app-token), or you can write a script to make your workflow create an installation token manually. For more information, see [AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app-installation).{% endif %}
The following example workflow uses the {% ifversion ghes < 3.12 %}`tibdex/github-app-token`{% else %}`actions/create-github-app-token`{% endif %} action to generate an installation access token. Then, the workflow uses the token to make an API request via the {% data variables.product.prodname_cli %}.
diff --git a/content/apps/creating-github-apps/registering-a-github-app/choosing-permissions-for-a-github-app.md b/content/apps/creating-github-apps/registering-a-github-app/choosing-permissions-for-a-github-app.md
index 4adb7ce854af..ca392afc73f6 100644
--- a/content/apps/creating-github-apps/registering-a-github-app/choosing-permissions-for-a-github-app.md
+++ b/content/apps/creating-github-apps/registering-a-github-app/choosing-permissions-for-a-github-app.md
@@ -23,7 +23,7 @@ topics:
{% data variables.product.prodname_github_apps %} don't have any permissions by default. When you register a {% data variables.product.prodname_github_app %}, you can select permissions for the app. The permissions that you select determine what the app can do with {% data variables.product.company_short %}'s APIs and what webhooks the app can subscribe to. You should select the minimum permissions required for the app.
-Although {% data variables.product.prodname_github_apps %} don't have any permissions by default, they do have implicit permissions to read public resources when acting on behalf of a user. When a user authorizes the app to act on their behalf, the {% data variables.product.prodname_github_app %} can use the resulting user access token to make requests to the REST API{% ifversion graphQL-for-fgpats-and-apps %} and the GraphQL API{% endif %} to read public resources. To learn more about acting on behalf of a user, see [AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-with-a-github-app-on-behalf-of-a-user).
+Although {% data variables.product.prodname_github_apps %} don't have any permissions by default, they do have implicit permissions to read public resources when acting on behalf of a user. When a user authorizes the app to act on their behalf, the {% data variables.product.prodname_github_app %} can use the resulting user access token to make requests to the REST API and the GraphQL API to read public resources. To learn more about acting on behalf of a user, see [AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-with-a-github-app-on-behalf-of-a-user).
App permissions are classified as repository, organization, or account permissions. Repository permissions allow your app to access resources related to repositories that are owned by the account where the app is installed. Organization permissions allow your app to access resources related to the organization where the app is installed, if it is installed on an organization account. Account permissions allow your app to access resources related to a user if the user has also authorized your app. For more information about user authorization of apps, see [AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-with-a-github-app-on-behalf-of-a-user).
diff --git a/content/apps/creating-github-apps/registering-a-github-app/making-a-github-app-public-or-private.md b/content/apps/creating-github-apps/registering-a-github-app/making-a-github-app-public-or-private.md
index fe003e890faf..173d9f1c2b2c 100644
--- a/content/apps/creating-github-apps/registering-a-github-app/making-a-github-app-public-or-private.md
+++ b/content/apps/creating-github-apps/registering-a-github-app/making-a-github-app-public-or-private.md
@@ -38,7 +38,7 @@ Additionally, you can register a {% data variables.product.prodname_github_app %
If you want your {% data variables.product.prodname_github_app %} to be available to organizations in a {% data variables.product.prodname_ghe_server %} instance that you are not part of, then you need to take additional steps. For more information, see [AUTOTITLE](/apps/sharing-github-apps/making-your-github-app-available-for-github-enterprise-server).
-If it is important for {% ifversion ghes %}other {% endif %}{% data variables.product.prodname_ghe_server %} users to be able to use your tool, consider using {% data variables.product.prodname_actions %} instead of a {% data variables.product.prodname_github_app %}. Public actions are available on {% data variables.product.prodname_ghe_server %} instances with GitHub Connect. For more information, see "[AUTOTITLE]({% ifversion not ghes %}/enterprise-server@latest{% endif %}/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect)" and "[AUTOTITLE]({% ifversion not ghes %}/enterprise-server@latest{% endif %}/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises){% ifversion ghes %}."{% else %}" in the {% data variables.product.prodname_ghe_server %} documentation.{% endif %}
+If it is important for {% ifversion ghes %}other {% endif %}{% data variables.product.prodname_ghe_server %} users to be able to use your tool, consider using {% data variables.product.prodname_actions %} instead of a {% data variables.product.prodname_github_app %}. Public actions are available on {% data variables.product.prodname_ghe_server %} instances with GitHub Connect. For more information, see [AUTOTITLE]({% ifversion not ghes %}/enterprise-server@latest{% endif %}/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect) and [AUTOTITLE]({% ifversion not ghes %}/enterprise-server@latest{% endif %}/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises){% ifversion ghes %}.{% else %} in the {% data variables.product.prodname_ghe_server %} documentation.{% endif %}
For information about changing the visibility of a {% data variables.product.prodname_github_app %} registration, see [AUTOTITLE](/apps/maintaining-github-apps/modifying-a-github-app).
diff --git a/content/apps/creating-github-apps/writing-code-for-a-github-app/building-a-github-app-that-responds-to-webhook-events.md b/content/apps/creating-github-apps/writing-code-for-a-github-app/building-a-github-app-that-responds-to-webhook-events.md
index 3adb6fbb2085..81436821cfdf 100644
--- a/content/apps/creating-github-apps/writing-code-for-a-github-app/building-a-github-app-that-responds-to-webhook-events.md
+++ b/content/apps/creating-github-apps/writing-code-for-a-github-app/building-a-github-app-that-responds-to-webhook-events.md
@@ -211,7 +211,7 @@ app.webhooks.onError((error) => {
// This determines where your server will listen.
//
-// For local development, your server will listen to port 3000 on `localhost`. When you deploy your app, you will change these values. For more information, see "[Deploy your app](#deploy-your-app)."
+// For local development, your server will listen to port 3000 on `localhost`. When you deploy your app, you will change these values. For more information, see [Deploy your app](#deploy-your-app).
const port = 3000;
const host = 'localhost';
const path = "/api/webhook";
diff --git a/content/apps/github-marketplace/creating-apps-for-github-marketplace/viewing-transactions-for-your-listing.md b/content/apps/github-marketplace/creating-apps-for-github-marketplace/viewing-transactions-for-your-listing.md
index 6fac54b4d15b..b564bc74448c 100644
--- a/content/apps/github-marketplace/creating-apps-for-github-marketplace/viewing-transactions-for-your-listing.md
+++ b/content/apps/github-marketplace/creating-apps-for-github-marketplace/viewing-transactions-for-your-listing.md
@@ -35,7 +35,7 @@ You can view or download the transaction data to keep track of your subscription
* **region:** The name of the region present in billing address.
* **postal_code:** The postal code value present in billing address.
-![Screenshot of the "Transactions" tab in the {% data variables.product.prodname_marketplace %} listing for an app. Transactions from the past week are listed in a table layout, with a search bar labeled "Search this file...".](/assets/images/marketplace/marketplace-transactions.png)
+![Screenshot of the "Transactions" tab in an app listing. Transactions from the past week are listed in a table with a search field.](/assets/images/marketplace/marketplace-transactions.png)
## Accessing {% data variables.product.prodname_marketplace %} transactions
diff --git a/content/apps/github-marketplace/github-marketplace-overview/about-marketplace-badges.md b/content/apps/github-marketplace/github-marketplace-overview/about-marketplace-badges.md
index 6b7bb1ca959a..f27adf0e6b55 100644
--- a/content/apps/github-marketplace/github-marketplace-overview/about-marketplace-badges.md
+++ b/content/apps/github-marketplace/github-marketplace-overview/about-marketplace-badges.md
@@ -19,7 +19,7 @@ Certain apps on the {% data variables.product.prodname_marketplace %} have the {
* Confirmed their email address so {% data variables.product.prodname_dotcom %} Support can reach the organization
* Required two-factor authentication for their organization. For more information, see [AUTOTITLE](/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization).
-![Screenshot of a marketplace badge for a {% data variables.product.prodname_github_app %}. The mouse pointer is hovering over an icon displaying the tooltip "Publisher domain and email verified."](/assets/images/marketplace/apps-with-verified-publisher-badge-tooltip.png)
+![Screenshot of a marketplace badge for a {% data variables.product.prodname_github_app %}. The cursor hovers over an icon with the tooltip "Publisher domain and email verified."](/assets/images/marketplace/apps-with-verified-publisher-badge-tooltip.png)
> [!WARNING]
> {% data variables.product.prodname_dotcom %} does not analyze or inspect third party code. {% data variables.product.prodname_marketplace %} publishers are responsible for the upkeep and maintenance of any third-party apps. The marketplace badge {% octicon "verified" aria-label="The verified badge" %} only confirms that the publisher meets the requirements listed above.
@@ -28,7 +28,7 @@ To learn how you can add this badge to your app, see [AUTOTITLE](/apps/github-ma
Some apps on the {% data variables.product.prodname_marketplace %} have the {% octicon "verified" aria-label="The verified badge" %} badge and a tooltip that says "App meets the requirements for listing" instead of, "Publisher domain and email verified." This means that the app meets the listing requirements described in [AUTOTITLE](/apps/github-marketplace/creating-apps-for-github-marketplace/requirements-for-listing-an-app), but the publisher has not been verified, as described in [AUTOTITLE](/apps/github-marketplace/github-marketplace-overview/applying-for-publisher-verification-for-your-organization). Apps with this badge cannot change their pricing plan until the publisher successfully applies for verification.
-![Screenshot of a marketplace badge for a {% data variables.product.prodname_github_app %}. The mouse pointer is hovering over an icon displaying the tooltip "App meets the requirements for listing."](/assets/images/marketplace/apps-with-unverified-publisher-badge-tooltip.png)
+![Screenshot of a marketplace badge for a {% data variables.product.prodname_github_app %}. The cursor hovers over an icon with the tooltip "App meets the requirements for listing."](/assets/images/marketplace/apps-with-unverified-publisher-badge-tooltip.png)
For more information about the requirements for listing an app on {% data variables.product.prodname_marketplace %}, see [AUTOTITLE](/apps/github-marketplace/creating-apps-for-github-marketplace/requirements-for-listing-an-app).
diff --git a/content/apps/github-marketplace/listing-an-app-on-github-marketplace/drafting-a-listing-for-your-app.md b/content/apps/github-marketplace/listing-an-app-on-github-marketplace/drafting-a-listing-for-your-app.md
index c2f6be058b9a..44f20c4d2fd6 100644
--- a/content/apps/github-marketplace/listing-an-app-on-github-marketplace/drafting-a-listing-for-your-app.md
+++ b/content/apps/github-marketplace/listing-an-app-on-github-marketplace/drafting-a-listing-for-your-app.md
@@ -48,7 +48,7 @@ To create a {% data variables.product.prodname_marketplace %} listing:
{% data reusables.user-settings.edit_marketplace_listing %}
1. Once you've created a new draft listing, you'll see an overview of the sections that you'll need to visit before your {% data variables.product.prodname_marketplace %} listing will be complete.
- ![Screenshot of a draft {% data variables.product.prodname_marketplace %} listing. In a section labeled "Publish your app to Marketplace," unfinished action items such as "Add your contact info" are marked with orange circles.](/assets/images/marketplace/marketplace-listing-overview.png)
+ ![Screenshot of a draft {% data variables.product.prodname_marketplace %} listing. Under "Publish your app to Marketplace," unfinished actions are marked with orange circles.](/assets/images/marketplace/marketplace-listing-overview.png)
> [!NOTE]
> In the "Contact info" section of your listing, we recommend using individual email addresses, rather than group emails addresses like support@domain.com. GitHub will use these email addresses to contact you about updates to {% data variables.product.prodname_marketplace %} that might affect your listing, new feature releases, marketing opportunities, payouts, and information on conferences and sponsorships.
diff --git a/content/apps/github-marketplace/listing-an-app-on-github-marketplace/writing-a-listing-description-for-your-app.md b/content/apps/github-marketplace/listing-an-app-on-github-marketplace/writing-a-listing-description-for-your-app.md
index 8fa588ba21d7..0265106644ca 100644
--- a/content/apps/github-marketplace/listing-an-app-on-github-marketplace/writing-a-listing-description-for-your-app.md
+++ b/content/apps/github-marketplace/listing-an-app-on-github-marketplace/writing-a-listing-description-for-your-app.md
@@ -111,7 +111,7 @@ If your app only works with specific languages, select up to 10 programming lang
A feature card consists of your app's logo, name, and a custom background image that captures your brand personality. {% data variables.product.prodname_marketplace %} displays this card if your app is one of the four randomly featured apps at the top of the [homepage](https://github.com/marketplace). Each app's very short description is displayed below its feature card.
-![Screenshot of a feature card for OctocatApp. The app's name and an icon of Mona are displayed on a pink background, above the description "United we code."](/assets/images/marketplace/marketplace-feature-card.png)
+![Screenshot of a feature card for OctocatApp. The app's name and an icon of Mona are displayed on a pink background, above the text "United we code."](/assets/images/marketplace/marketplace-feature-card.png)
As you upload images and select colors, your {% data variables.product.prodname_marketplace %} draft listing will display a preview of your logo and feature card.
diff --git a/content/apps/maintaining-github-apps/managing-allowed-ip-addresses-for-a-github-app.md b/content/apps/maintaining-github-apps/managing-allowed-ip-addresses-for-a-github-app.md
index 1fe6a4942f1a..2265f13240b8 100644
--- a/content/apps/maintaining-github-apps/managing-allowed-ip-addresses-for-a-github-app.md
+++ b/content/apps/maintaining-github-apps/managing-allowed-ip-addresses-for-a-github-app.md
@@ -18,11 +18,11 @@ Enterprise and organization owners can restrict access to assets by configuring
When an organization has an allow list, third-party applications that connect via a {% data variables.product.prodname_github_app %} will be denied access unless either of the following condition sets are true:
* The creator of the {% data variables.product.prodname_github_app %} has configured an allow list for the application that specifies the IP addresses at which their application runs. See below for details of how to do this, and
-* The organization owner has chosen to permit the addresses in the {% data variables.product.prodname_github_app %}'s allow list to be added to their own allow list. For more information, see "[Managing allowed IP addresses for your organization](/{% ifversion fpt %}enterprise-cloud@latest/{% endif %}organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization#allowing-access-by-github-apps){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}
+* The organization owner has chosen to permit the addresses in the {% data variables.product.prodname_github_app %}'s allow list to be added to their own allow list. For more information, see [Managing allowed IP addresses for your organization](/{% ifversion fpt %}enterprise-cloud@latest/{% endif %}organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization#allowing-access-by-github-apps){% ifversion fpt %} in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}.{% endif %}
or
-* The organization owner has added an IP allow list entry for the IP addresses from which the application runs. See "[Adding an allowed IP address](/{% ifversion fpt %}enterprise-cloud@latest/{% endif %}organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#adding-an-allowed-ip-address){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}
+* The organization owner has added an IP allow list entry for the IP addresses from which the application runs. See [Adding an allowed IP address](/{% ifversion fpt %}enterprise-cloud@latest/{% endif %}organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#adding-an-allowed-ip-address){% ifversion fpt %} in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}.{% endif %}
{% data reusables.apps.ip-allow-list-only-apps %}
diff --git a/content/apps/oauth-apps/using-oauth-apps/internal-oauth-apps.md b/content/apps/oauth-apps/using-oauth-apps/internal-oauth-apps.md
index f583a0b3bc91..f1fdae8e3b50 100644
--- a/content/apps/oauth-apps/using-oauth-apps/internal-oauth-apps.md
+++ b/content/apps/oauth-apps/using-oauth-apps/internal-oauth-apps.md
@@ -12,7 +12,7 @@ Some {% data variables.product.prodname_oauth_apps %} are internal apps. These a
Some of these internal apps are automatically included with {% data variables.product.company_short %} and do not require user authorization. These apps will not appear in your list of authorized {% data variables.product.prodname_oauth_apps %}.
-These internal apps will appear in the user security log, but will not appear in organization{% ifversion ghes or ghec %} or enterprise{% endif %} audit logs. {% ifversion ghes or ghec %}For more information, see [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/reviewing-your-security-log), [AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization), and [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise).{% else %}For more information, see "[AUTOTITLE](/authentication/keeping-your-account-and-data-secure/reviewing-your-security-log)" and "[AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization)."{% endif %}
+These internal apps will appear in the user security log, but will not appear in organization{% ifversion ghes or ghec %} or enterprise{% endif %} audit logs. {% ifversion ghes or ghec %}For more information, see [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/reviewing-your-security-log), [AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization), and [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise).{% else %}For more information, see [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/reviewing-your-security-log) and [AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization).{% endif %}
These {% data variables.product.prodname_oauth_apps %} are :
@@ -23,7 +23,7 @@ These {% data variables.product.prodname_oauth_apps %} are :
* GitHub Codespaces for JetBrains
* GitHub Desktop
* GitHub Education
-* github-importer-production
+* github-importer-production
* GitHub iOS
* GitHub Support
* JetBrains IDE Integration
diff --git a/content/apps/using-github-apps/internal-github-apps.md b/content/apps/using-github-apps/internal-github-apps.md
index 4874420e89cc..1128a73bb0a3 100644
--- a/content/apps/using-github-apps/internal-github-apps.md
+++ b/content/apps/using-github-apps/internal-github-apps.md
@@ -12,7 +12,7 @@ Some {% data variables.product.prodname_github_apps %} are internal apps. These
Some of these internal apps are automatically included with {% data variables.product.company_short %} and do not require user authorization. These apps will not appear in your list of authorized {% data variables.product.prodname_github_apps %} or in your list of installed {% data variables.product.prodname_github_apps %}.{% ifversion ghec %}{% data variables.product.prodname_emus %} are allowed to install these internal apps on their user account, while standard, unprivileged apps cannot be installed on {% data variables.product.prodname_emus %} user accounts.{% endif %}
-These internal apps will appear in the user security log, but will not appear in organization{% ifversion ghes or ghec %} or enterprise{% endif %} audit logs. {% ifversion ghes or ghec %}For more information, see [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/reviewing-your-security-log), [AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization), and [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise).{% else %}For more information, see "[AUTOTITLE](/authentication/keeping-your-account-and-data-secure/reviewing-your-security-log)" and "[AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization)."{% endif %}
+These internal apps will appear in the user security log, but will not appear in organization{% ifversion ghes or ghec %} or enterprise{% endif %} audit logs. {% ifversion ghes or ghec %}For more information, see [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/reviewing-your-security-log), [AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization), and [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise).{% else %}For more information, see [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/reviewing-your-security-log) and [AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization).{% endif %}
These {% data variables.product.prodname_github_apps %} are:
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/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md b/content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md
index 30a16fc27d90..04065145f7d4 100644
--- a/content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md
+++ b/content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md
@@ -149,7 +149,7 @@ After using `git filter-repo` to remove the sensitive data and pushing your chan
* Remove cached views.
* If LFS Objects are involved, delete and/or purge the orphaned LFS objects.
- {% ifversion ghes %}For more information about how site administrators can remove unreachable Git objects, see "[AUTOTITLE](/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-repo-gc)." For more information about how site administrators can identify reachable commits, see "[Identifying reachable commits](#identifying-reachable-commits)."{% endif %}{% ifversion fpt or ghec %}
+ {% ifversion ghes %}For more information about how site administrators can remove unreachable Git objects, see [AUTOTITLE](/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-repo-gc). For more information about how site administrators can identify reachable commits, see [Identifying reachable commits](#identifying-reachable-commits).{% endif %}{% ifversion fpt or ghec %}
>[!IMPORTANT] {% data variables.contact.github_support %} won't remove non-sensitive data, and will only assist in the removal of sensitive data in cases where we determine that the risk can't be mitigated by rotating affected credentials.{% endif %}
1. Collaborators must [rebase](https://git-scm.com/book/en/v2/Git-Branching-Rebasing), _not_ merge, any branches they created off of your old (tainted) repository history. One merge commit could reintroduce some or all of the tainted history that you just went to the trouble of purging. They may need to take additional steps as well; see [Make sure other copies are cleaned up: clones of colleagues](https://htmlpreview.github.io/?https://github.com/newren/git-filter-repo/blob/docs/html/git-filter-repo.html#_make_sure_other_copies_are_cleaned_up_clones_of_colleagues) in the `git filter-repo` manual.
diff --git a/content/authentication/keeping-your-account-and-data-secure/reviewing-your-security-log.md b/content/authentication/keeping-your-account-and-data-secure/reviewing-your-security-log.md
index ad5724fbceb0..aaaa5f73eeb8 100644
--- a/content/authentication/keeping-your-account-and-data-secure/reviewing-your-security-log.md
+++ b/content/authentication/keeping-your-account-and-data-secure/reviewing-your-security-log.md
@@ -39,9 +39,7 @@ The events listed in your security log are triggered by your actions. Actions ar
| `marketplace_agreement_signature` | Contains all activities related to signing the {% data variables.product.prodname_marketplace %} Developer Agreement. |
| `marketplace_listing`| Contains all activities related to listing apps in {% data variables.product.prodname_marketplace %}. |
| {% endif %} |
-| {% ifversion security-log-oauth-access-tokens %} |
| `oauth_access` | Contains all activities related to OAuth access tokens. |
-| {% endif %} |
| `oauth_authorization` | Contains all activities related to authorizing {% data variables.product.prodname_oauth_apps %}. For more information, see [AUTOTITLE](/apps/oauth-apps/using-oauth-apps/authorizing-oauth-apps). |
| {% ifversion passkeys %} |
| `passkey` | Contains activities related to your passkeys. See [AUTOTITLE](/authentication/authenticating-with-a-passkey/about-passkeys). |
diff --git a/content/authentication/keeping-your-account-and-data-secure/sudo-mode.md b/content/authentication/keeping-your-account-and-data-secure/sudo-mode.md
index 2828b5b6c762..39dc14cac93e 100644
--- a/content/authentication/keeping-your-account-and-data-secure/sudo-mode.md
+++ b/content/authentication/keeping-your-account-and-data-secure/sudo-mode.md
@@ -42,19 +42,17 @@ After you authenticate to perform a sensitive action, your session is temporaril
## Confirming access for sudo mode
-To confirm access for sudo mode, you {% ifversion totp-and-mobile-sudo-challenge %}can{% else %}must{% endif %} authenticate with your password.{% ifversion totp-and-mobile-sudo-challenge %} Optionally, you can use a different authentication method, like {% ifversion passkeys %}a passkey, {% endif %}{% ifversion fpt or ghec %}a security key, {% data variables.product.prodname_mobile %}, or a 2FA code{% elsif ghes %}a security key or a 2FA code{% endif %}.{% endif %}
+To confirm access for sudo mode, you can authenticate with your password. Optionally, you can use a different authentication method, like {% ifversion passkeys %}a passkey, {% endif %}{% ifversion fpt or ghec %}a security key, {% data variables.product.prodname_mobile %}, or a 2FA code{% elsif ghes %}a security key or a 2FA code{% endif %}.
{%- ifversion passkeys %}
* [Confirming access using a passkey key](#confirming-access-using-a-passkey)
{%- endif %}
-{%- ifversion totp-and-mobile-sudo-challenge %}
* [Confirming access using a security key](#confirming-access-using-a-security-key)
{%- ifversion fpt or ghec %}
* [Confirming access using GitHub Mobile](#confirming-access-using-github-mobile)
{%- endif %}
* [Confirming access using a 2FA code](#confirming-access-using-a-2fa-code)
* [Confirming access using your password](#confirming-access-using-your-password)
-{%- endif %}
{% ifversion passkeys %}
@@ -63,8 +61,6 @@ To confirm access for sudo mode, you {% ifversion totp-and-mobile-sudo-challenge
You must have a passkey registered to your account to confirm access to your account for sudo mode using a passkey. See [AUTOTITLE](/authentication/authenticating-with-a-passkey/about-passkeys).
{% endif %}
-{% ifversion totp-and-mobile-sudo-challenge %}
-
### Confirming access using a security key
You must configure two-factor authentication (2FA) for your account using a security key to confirm access to your account for sudo mode using the security key. For more information, see [AUTOTITLE](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication#configuring-two-factor-authentication-using-a-security-key).
@@ -94,6 +90,4 @@ When prompted to authenticate for sudo mode, type the authentication code from y
### Confirming access using your password
-{% endif %}
-
When prompted to authenticate for sudo mode, type your password, then click **Confirm**.
diff --git a/content/authentication/keeping-your-account-and-data-secure/viewing-and-managing-your-sessions.md b/content/authentication/keeping-your-account-and-data-secure/viewing-and-managing-your-sessions.md
index b5e327fb7c3f..1eb4751abf6a 100644
--- a/content/authentication/keeping-your-account-and-data-secure/viewing-and-managing-your-sessions.md
+++ b/content/authentication/keeping-your-account-and-data-secure/viewing-and-managing-your-sessions.md
@@ -2,7 +2,10 @@
title: Viewing and managing your sessions
intro: You can view and revoke your active sessions in your settings.
versions:
- feature: device-and-settings-management-page
+ fpt: '*'
+ ghec: '*'
+ ghes: '*'
+
type: how_to
topics:
- SSO
diff --git a/content/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account.md b/content/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account.md
index abc0a6941cee..e5e97d864646 100644
--- a/content/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account.md
+++ b/content/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account.md
@@ -26,10 +26,9 @@ To sign commits associated with your account on {% data variables.product.produc
You can add multiple public keys to your account on {% data variables.product.product_name %}. Commits signed by any of the corresponding private keys will show as verified. {% ifversion persistent-commit-verification %}Once a commit has been verified, any commits signed by the corresponding private key will continue to show as verified, even if the public key is removed.{% else %}If you remove a public key, any commits signed by the corresponding private key will no longer show as verified.{% endif %}
-![Screenshot of a list of commits. One commit is marked with a "Verified" label. Next to the label, a dropdown explains that the commit was signed and shows a timestamp of when it was signed.](/assets/images/help/settings/verified-persistent-commit.png)
+![Screenshot of a list of commits. One commit is marked as "Verified." A dropdown shows the commit was signed and when it was signed.](/assets/images/help/settings/verified-persistent-commit.png)
-{% ifversion upload-expired-or-revoked-gpg-key %}
-To verify as many of your commits as possible, you can add expired and revoked keys. If the key meets all other verification requirements, commits that were previously signed by any of the corresponding private keys will show as verified and indicate that their signing key is expired or revoked.{% endif %}
+To verify as many of your commits as possible, you can add expired and revoked keys. If the key meets all other verification requirements, commits that were previously signed by any of the corresponding private keys will show as verified and indicate that their signing key is expired or revoked.
{% data reusables.gpg.supported-gpg-key-algorithms %}
@@ -45,20 +44,6 @@ When verifying a signature, {% data variables.product.product_name %} extracts t
1. Click **Add GPG key**.
1. If prompted, authenticate to your {% data variables.product.prodname_dotcom %} account to confirm the action.
-{% ifversion upload-expired-or-revoked-gpg-key %}
-{% else %}
-
-## Updating an expired GPG key
-
-When verifying a signature, {% data variables.product.product_name %} checks that the key is not revoked or expired. If your signing key is revoked or expired, {% data variables.product.product_name %} cannot verify your signatures.
-
-If your key is expired, you must [update its expiration](https://www.gnupg.org/gph/en/manual.html#AEN329), export the new key, delete the expired key in your account on {% data variables.product.product_name %}, and add the new key to your account as described above. Your previous commits and tags will show as verified, as long as the key meets all other verification requirements.
-
-If your key is revoked, use the primary key or another key that is not revoked to sign your commits.
-
-If your key is invalid and you don't use another valid key in your key set, but instead generate a new GPG key with a new set of credentials, then your commits made with the revoked or expired key will continue to show as unverified. Also, your new credentials will not be able to re-sign or verify your old commits and tags.
-{% endif %}
-
## Further reading
* [AUTOTITLE](/authentication/managing-commit-signature-verification/checking-for-existing-gpg-keys)
diff --git a/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md
index e4de9af65db1..2d650852eac4 100644
--- a/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md
+++ b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md
@@ -41,13 +41,9 @@ If you're a member of an {% data variables.enterprise.prodname_emu_enterprise %}
> * If you're a member{% ifversion fpt or ghec %} or billing manager{% endif %} of an organization that requires 2FA, you will be unable to access that organization's resources while you have 2FA disabled.
> * If you disable 2FA, you will automatically lose access to the organization. To regain access to the organization, if you're a member{% ifversion fpt or ghec %} or billing manager{% endif %}, you must re-enable 2FA. If you're an outside collaborator, you will also lose access to any private forks you have of the organization's private repositories after disabling 2FA, and must re-enable 2FA and contact an organization owner to have access restored.
-{% ifversion 2fa-reconfiguration-inline-update %}
-
> [!NOTE]
> You can reconfigure your 2FA settings without disabling 2FA entirely, allowing you to keep both your recovery codes and your membership in organizations that require 2FA.
-{% endif %}
-
## Configuring two-factor authentication using a TOTP app
A time-based one-time password (TOTP) application automatically generates an authentication code that changes after a certain period of time. These apps can be downloaded to your phone or desktop. We recommend using cloud-based TOTP apps. {% data variables.product.prodname_dotcom %} is app-agnostic when it comes to TOTP apps, so you have the freedom to choose any TOTP app you prefer. Just search for `TOTP app` in your browser to find various options. You can also refine your search by adding keywords like `free` or `open source` to match your preferences.
diff --git a/content/authentication/securing-your-account-with-two-factor-authentication-2fa/countries-where-sms-authentication-is-supported.md b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/countries-where-sms-authentication-is-supported.md
index 2b8070616b99..cad349f09c26 100644
--- a/content/authentication/securing-your-account-with-two-factor-authentication-2fa/countries-where-sms-authentication-is-supported.md
+++ b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/countries-where-sms-authentication-is-supported.md
@@ -14,9 +14,9 @@ shortTitle: Countries supporting SMS
---
If we don't support two-factor authentication via text message for your country of residence, you can set up authentication via a TOTP mobile application. For more information, see [AUTOTITLE](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication).
-## Supported countries for SMS authentication
+## Supported countries and regions for SMS authentication
-If your country is not on this list, then we aren't currently able to reliably deliver text messages to your country. We update this list periodically.
+If your country or region is not on this list, then we aren't currently able to reliably deliver text messages to your country. We update this list periodically.
Aland Islands
diff --git a/content/billing/managing-billing-for-your-products/managing-billing-for-github-actions/about-billing-for-github-actions.md b/content/billing/managing-billing-for-your-products/managing-billing-for-github-actions/about-billing-for-github-actions.md
index 3bddadecd5eb..efcf84ed037b 100644
--- a/content/billing/managing-billing-for-your-products/managing-billing-for-github-actions/about-billing-for-github-actions.md
+++ b/content/billing/managing-billing-for-your-products/managing-billing-for-github-actions/about-billing-for-github-actions.md
@@ -5,6 +5,7 @@ redirect_from:
- /github/setting-up-and-managing-billing-and-payments-on-github/about-billing-for-github-actions
- /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions/about-billing-for-github-actions
- /billing/managing-billing-for-github-actions/about-billing-for-github-actions
+ - /early-access/billing/actions-billing-update
versions:
fpt: '*'
ghec: '*'
diff --git a/content/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security.md b/content/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security.md
index 5cf2fb4b5596..e748d615d626 100644
--- a/content/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security.md
+++ b/content/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security.md
@@ -38,12 +38,12 @@ There are a few key differences between metered and volume billing for {% data v
* **Volume billing:**
- * Purchase a defined number of licenses (e.g. 100 licenses).
+ * Purchase a defined number of licenses (for example, 100 licenses).
* If usage exceeds purchased licenses, you will need to purchase additional licenses to cover this overage usage.
### Managing committers and repositories
-{% data variables.product.prodname_GH_advanced_security %} is billed per committer and enabled by repository. If a committer is removed from an organization or enterprise, they are no longer billable as of the removal day. However, if you disable {% data variables.product.prodname_GH_advanced_security %} on a repository, the committers tied to that repository will remain billable until the end of the current monthly billing cycle. Prorated billing applies if a committer starts partway through the month. For an example of how this works, see [Understanding usage](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security#understanding-usage).
+{% data variables.product.prodname_GH_advanced_security %} is billed per committer and enabled by repository. If you remove a committer from an organization or enterprise, or if you disable {% data variables.product.prodname_GH_advanced_security %} on a repository, the committers will remain billable until the end of the current monthly billing cycle. Prorated billing applies only when a committer starts partway through the month. For examples of how committers are tracked and billed, see [Understanding usage](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security#understanding-usage).
If you have further questions about using {% data variables.product.prodname_GH_advanced_security %}, you can contact your account manager in {% data variables.contact.contact_enterprise_sales %}.
diff --git a/content/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/managing-your-github-advanced-security-licensing.md b/content/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/managing-your-github-advanced-security-licensing.md
index 6f6baea2bfe4..d01ef0348193 100644
--- a/content/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/managing-your-github-advanced-security-licensing.md
+++ b/content/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/managing-your-github-advanced-security-licensing.md
@@ -34,7 +34,7 @@ Each license for {% data variables.product.prodname_GH_advanced_security %} spec
1. Under "Committers", click **Manage committers**.
1. Under "Total committers", click the plus or minus buttons to add or remove committers.
- ![Screenshot of the {% data variables.product.prodname_GH_advanced_security %} committers screen. A text box with the number 5, a minus button on its left, and a plus button on its right, are highlighted in an orange outline.](/assets/images/help/enterprises/ghas-add-committers.png)
+ ![Screenshot of the {% data variables.product.prodname_GH_advanced_security %} committers screen. A text box with the number 5, with a minus and a plus button, are outlined in orange.](/assets/images/help/enterprises/ghas-add-committers.png)
1. Click **Update committers**.
## Canceling your {% data variables.product.prodname_GH_advanced_security %} subscription
@@ -44,5 +44,5 @@ Each license for {% data variables.product.prodname_GH_advanced_security %} spec
{% data reusables.enterprise-accounts.license-tab %}
1. To the right of "{% data variables.product.prodname_GH_advanced_security %}", click **Manage**, then click **Cancel Subscription**.
- ![Screenshot of the "Manage" dropdown in the {% data variables.product.prodname_GH_advanced_security %} licensing screen. The "Cancel Subscription" button is highlighted with an orange outline.](/assets/images/help/enterprises/ghas-cancel-subscription.png)
+ ![Screenshot of the "Manage" dropdown in the {% data variables.product.prodname_GH_advanced_security %} licensing screen. The "Cancel Subscription" button is outlined in orange.](/assets/images/help/enterprises/ghas-cancel-subscription.png)
1. To confirm your cancellation, click **I understand, cancel Advanced Security**.
diff --git a/content/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/setting-up-a-trial-of-github-advanced-security.md b/content/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/setting-up-a-trial-of-github-advanced-security.md
index 3b3d970514b4..702b1d034d7d 100644
--- a/content/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/setting-up-a-trial-of-github-advanced-security.md
+++ b/content/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/setting-up-a-trial-of-github-advanced-security.md
@@ -25,11 +25,13 @@ shortTitle: Set up an Advanced Security trial
## About trials of {% data variables.product.prodname_GH_advanced_security %}
-{% data reusables.advanced-security.ghas-trial-availability %}
+There are a few ways to trial {% data variables.product.prodname_GH_advanced_security %}:
-{% data reusables.advanced-security.ghas-trial-invoiced %}
+* If you are **an existing {% data variables.product.prodname_ghe_cloud %} customer** paying by credit card or PayPal, and you have not yet purchased {% data variables.product.prodname_GH_advanced_security %} or participated in a trial, you can start a trial of {% data variables.product.prodname_GH_advanced_security %} at any time. For more information, see [Setting up your trial of {% data variables.product.prodname_GH_advanced_security %}](#setting-up-your-trial-of-github-advanced-security).
+* If you are **a new {% data variables.product.prodname_ghe_cloud %} customer**, you can start a trial of {% data variables.product.prodname_ghe_cloud %}, which includes {% data variables.product.prodname_GH_advanced_security %}. For more information, see [AUTOTITLE](/enterprise-cloud@latest/admin/overview/setting-up-a-trial-of-github-enterprise-cloud).
+* {% ifversion ghec %}If you **pay by invoice**, contact {% data variables.contact.contact_enterprise_sales %} to discuss trialing {% data variables.product.prodname_GH_advanced_security %} for your enterprise.{% endif %}
-During a trial, you can add any number of committers and enable {% data variables.product.prodname_GH_advanced_security %} for any number of organizations. The standard length of the trial is 30 days. If you're taking part in a free trial of {% data variables.product.prodname_ghe_cloud %}, the trial of {% data variables.product.prodname_GH_advanced_security %} will last for the time you have remaining on your trial of {% data variables.product.prodname_ghe_cloud %}.
+During a trial of {% data variables.product.prodname_GH_advanced_security %} in a {% data variables.product.prodname_ghe_cloud %} account with a paid subscription, you can add any number of committers and enable {% data variables.product.prodname_GH_advanced_security %} for any number of organizations. During a trial of {% data variables.product.prodname_ghe_cloud %}, you can enable {% data variables.product.prodname_GH_advanced_security %} for your whole enterprise.
## Prerequisites
diff --git a/content/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/viewing-your-github-advanced-security-usage.md b/content/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/viewing-your-github-advanced-security-usage.md
index dff77a72a22f..52fc30fbe39c 100644
--- a/content/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/viewing-your-github-advanced-security-usage.md
+++ b/content/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/viewing-your-github-advanced-security-usage.md
@@ -141,7 +141,7 @@ You can download the {% data variables.product.prodname_advanced_security %} lic
{%- ifversion ghec %}
1. Under "{% data variables.product.prodname_GH_advanced_security %}," click the **Manage** dropdown and then click **Download report**.
- ![Screenshot of the "Manage" dropdown in the {% data variables.product.prodname_GH_advanced_security %} licensing screen. The "Download Report" button is highlighted with an orange outline.](/assets/images/help/enterprises/ghas-download-report.png)
+ ![Screenshot of the "Manage" dropdown in the {% data variables.product.prodname_GH_advanced_security %} licensing screen. The "Download Report" button is outlined in orange.](/assets/images/help/enterprises/ghas-download-report.png)
{%- elsif ghes %}
1. Under "{% data variables.product.prodname_GH_advanced_security %}," click **{% octicon "download" aria-hidden="true" %} CSV report** in the header of the "Committers" table.
diff --git a/content/billing/managing-the-plan-for-your-github-account/about-per-user-pricing.md b/content/billing/managing-the-plan-for-your-github-account/about-per-user-pricing.md
index 019cd3af4fa3..3ff6a735b197 100644
--- a/content/billing/managing-the-plan-for-your-github-account/about-per-user-pricing.md
+++ b/content/billing/managing-the-plan-for-your-github-account/about-per-user-pricing.md
@@ -112,9 +112,9 @@ If your enterprise does not use {% data variables.product.prodname_emus %}, you
After a user successfully authenticates to a {% data variables.product.prodname_ghe_server %} instance for the first time, the user consumes a seat.
-Suspended users are not counted when calculating the number of licensed users consuming seats. For more information, see "[Suspending and unsuspending users]({% ifversion not ghes %}/enterprise-server@latest{% endif %}/admin/user-management/managing-users-in-your-enterprise/suspending-and-unsuspending-users){% ifversion not ghes %}" in the {% data variables.product.prodname_ghe_server %} documentation.{% else %}."{% endif %}
+Suspended users are not counted when calculating the number of licensed users consuming seats. For more information, see [Suspending and unsuspending users]({% ifversion not ghes %}/enterprise-server@latest{% endif %}/admin/user-management/managing-users-in-your-enterprise/suspending-and-unsuspending-users){% ifversion not ghes %} in the {% data variables.product.prodname_ghe_server %} documentation.{% else %}.{% endif %}
-Dormant users do occupy a seat license. Administrators can suspend dormant users to free licenses. For more information, see "[Managing dormant users]({% ifversion not ghes %}/enterprise-server@latest{% endif %}/admin/user-management/managing-users-in-your-enterprise/managing-dormant-users){% ifversion not ghes %}" in the {% data variables.product.prodname_ghe_server %} documentation.{% else %}."{% endif %}
+Dormant users do occupy a seat license. Administrators can suspend dormant users to free licenses. For more information, see [Managing dormant users]({% ifversion not ghes %}/enterprise-server@latest{% endif %}/admin/user-management/managing-users-in-your-enterprise/managing-dormant-users){% ifversion not ghes %} in the {% data variables.product.prodname_ghe_server %} documentation.{% else %}.{% endif %}
{% endif %}
diff --git a/content/billing/managing-the-plan-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account.md b/content/billing/managing-the-plan-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account.md
index 963017894301..2bca2edbdd6a 100644
--- a/content/billing/managing-the-plan-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account.md
+++ b/content/billing/managing-the-plan-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account.md
@@ -26,7 +26,7 @@ shortTitle: View subscription & usage
You can view an overview of {% ifversion ghec %}your subscription and paid{% elsif ghes %}the license{% endif %} usage for {% ifversion ghec %}your{% elsif ghes %}the{% endif %} enterprise account on {% ifversion ghec %}{% data variables.product.prodname_dotcom_the_website %}{% elsif ghes %}{% data variables.location.product_location %}{% endif %}.{% ifversion ghec %} {% data reusables.enterprise.create-an-enterprise-account %} For more information, see [AUTOTITLE](/enterprise-cloud@latest/admin/managing-your-enterprise-account/creating-an-enterprise-account).{% endif %}
-For invoiced {% data variables.product.prodname_enterprise %} customers{% ifversion ghes %} who use both {% data variables.product.prodname_ghe_cloud %} and {% data variables.product.prodname_ghe_server %}{% endif %}, each invoice includes details about billed services for all products. For example, in addition to your usage for {% ifversion ghec %}{% data variables.product.prodname_ghe_cloud %}{% elsif ghes %}{% data variables.product.product_name %}{% endif %}, you may have usage for {% data variables.product.prodname_GH_advanced_security %}{% ifversion ghec %}, {% elsif ghes %}. You may also have usage on {% data variables.product.prodname_dotcom_the_website %}, like {% endif %}paid licenses in organizations outside of your enterprise account, data packs for {% data variables.large_files.product_name_long %}, or subscriptions to apps in {% data variables.product.prodname_marketplace %}. For more information about invoices, see "[Managing invoices for your enterprise]({% ifversion ghes %}/enterprise-cloud@latest{% endif %}/billing/managing-the-plan-for-your-github-account/managing-invoices-for-your-enterprise){% ifversion ghec %}."{% elsif ghes %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% endif %}
+For invoiced {% data variables.product.prodname_enterprise %} customers{% ifversion ghes %} who use both {% data variables.product.prodname_ghe_cloud %} and {% data variables.product.prodname_ghe_server %}{% endif %}, each invoice includes details about billed services for all products. For example, in addition to your usage for {% ifversion ghec %}{% data variables.product.prodname_ghe_cloud %}{% elsif ghes %}{% data variables.product.product_name %}{% endif %}, you may have usage for {% data variables.product.prodname_GH_advanced_security %}{% ifversion ghec %}, {% elsif ghes %}. You may also have usage on {% data variables.product.prodname_dotcom_the_website %}, like {% endif %}paid licenses in organizations outside of your enterprise account, data packs for {% data variables.large_files.product_name_long %}, or subscriptions to apps in {% data variables.product.prodname_marketplace %}. For more information about invoices, see [Managing invoices for your enterprise]({% ifversion ghes %}/enterprise-cloud@latest{% endif %}/billing/managing-the-plan-for-your-github-account/managing-invoices-for-your-enterprise){% ifversion ghec %}.{% elsif ghes %} in the {% data variables.product.prodname_ghe_cloud %} documentation.{% endif %}
{% ifversion ghec %}
diff --git a/content/billing/managing-your-license-for-github-enterprise/about-licenses-for-github-enterprise.md b/content/billing/managing-your-license-for-github-enterprise/about-licenses-for-github-enterprise.md
index bca69cc07b7b..0feb5c32dd45 100644
--- a/content/billing/managing-your-license-for-github-enterprise/about-licenses-for-github-enterprise.md
+++ b/content/billing/managing-your-license-for-github-enterprise/about-licenses-for-github-enterprise.md
@@ -46,6 +46,6 @@ If you have any questions about renewing your license, contact {% data variables
## Further reading
* [AUTOTITLE](/billing/managing-your-github-billing-settings/about-billing-for-your-enterprise)
-* The [People that consume a license](/billing/managing-the-plan-for-your-github-account/about-per-user-pricing#people-that-consume-a-license)" section in "About per-user pricing"
-* "[Setting up a {% data variables.product.prodname_ghe_server %} instance]({% ifversion ghec %}/enterprise-server@latest{% endif %}/admin/installation/setting-up-a-github-enterprise-server-instance)"
+* The [People that consume a license](/billing/managing-the-plan-for-your-github-account/about-per-user-pricing#people-that-consume-a-license) section in "About per-user pricing"
+* [Setting up a {% data variables.product.prodname_ghe_server %} instance]({% ifversion ghec %}/enterprise-server@latest{% endif %}/admin/installation/setting-up-a-github-enterprise-server-instance)
* The [{% data variables.product.prodname_enterprise %} Releases](https://enterprise.github.com/releases/) website
diff --git a/content/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud.md b/content/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud.md
index 62f57ba35a6a..c973e125586c 100644
--- a/content/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud.md
+++ b/content/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud.md
@@ -18,7 +18,7 @@ shortTitle: Sync license usage
{% data reusables.enterprise-licensing.about-license-sync %}
-To ensure that you see up-to-date license details on {% data variables.product.prodname_ghe_cloud %}, you can sync license usage to {% data variables.product.prodname_dotcom_the_website %}{% ifversion ghecom-license-sync %} or {% data variables.enterprise.data_residency_site %}{% endif %} automatically, using {% data variables.product.prodname_github_connect %}. For more information about {% data variables.product.prodname_github_connect %}, see "[About {% data variables.product.prodname_github_connect %}]({% ifversion ghec %}/enterprise-server@latest{% endif %}/admin/configuration/configuring-github-connect/about-github-connect){% ifversion ghec %}" in the {% data variables.product.prodname_ghe_server %} documentation.{% elsif ghes %}."{% endif %}
+To ensure that you see up-to-date license details on {% data variables.product.prodname_ghe_cloud %}, you can sync license usage to {% data variables.product.prodname_dotcom_the_website %}{% ifversion ghecom-license-sync %} or {% data variables.enterprise.data_residency_site %}{% endif %} automatically, using {% data variables.product.prodname_github_connect %}. For more information about {% data variables.product.prodname_github_connect %}, see [About {% data variables.product.prodname_github_connect %}]({% ifversion ghec %}/enterprise-server@latest{% endif %}/admin/configuration/configuring-github-connect/about-github-connect){% ifversion ghec %} in the {% data variables.product.prodname_ghe_server %} documentation.{% elsif ghes %}.{% endif %}
If you don't want to enable {% data variables.product.prodname_github_connect %}, you can manually sync license usage by uploading a file from {% data variables.product.prodname_ghe_server %} to {% data variables.product.prodname_dotcom_the_website %}.
@@ -30,7 +30,7 @@ When you synchronize license usage, only the user ID and email addresses for eac
## Automatically syncing license usage
-You can use {% data variables.product.prodname_github_connect %} to automatically synchronize user license count and usage between {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %} weekly. For more information, see "[Enabling automatic user license sync for your enterprise]({% ifversion ghec %}/enterprise-server@latest{% endif %}/admin/configuration/configuring-github-connect/enabling-automatic-user-license-sync-for-your-enterprise){% ifversion ghec %}" in the {% data variables.product.prodname_ghe_server %} documentation.{% elsif ghes %}."{% endif %}
+You can use {% data variables.product.prodname_github_connect %} to automatically synchronize user license count and usage between {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %} weekly. For more information, see [Enabling automatic user license sync for your enterprise]({% ifversion ghec %}/enterprise-server@latest{% endif %}/admin/configuration/configuring-github-connect/enabling-automatic-user-license-sync-for-your-enterprise){% ifversion ghec %} in the {% data variables.product.prodname_ghe_server %} documentation.{% elsif ghes %}.{% endif %}
{% ifversion ghec or ghes %}
After you enable {% data variables.product.prodname_github_connect %}, license data will be automatically synchronized weekly. You can also manually synchronize your license data at any time, by triggering a license sync job.
diff --git a/content/billing/using-the-billing-platform/about-billing-for-your-enterprise.md b/content/billing/using-the-billing-platform/about-billing-for-your-enterprise.md
index e07f8a7e94fa..2e14a802b6c3 100644
--- a/content/billing/using-the-billing-platform/about-billing-for-your-enterprise.md
+++ b/content/billing/using-the-billing-platform/about-billing-for-your-enterprise.md
@@ -8,6 +8,7 @@ redirect_from:
- /admin/overview/managing-billing-for-github-enterprise
- /billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise
- /billing/managing-your-github-billing-settings/about-billing-for-your-enterprise
+ - /early-access/github/automatically-renew-the-billing-plan-for-your-enterprise
versions:
ghec: '*'
ghes: '*'
@@ -40,10 +41,10 @@ Each user on {% data variables.location.product_location %} consumes a seat on y
{%- ifversion ghes %}
* [AUTOTITLE](/enterprise-cloud@latest/billing/managing-the-plan-for-your-github-account/about-per-user-pricing)
{%- endif %}
-* "[Viewing the subscription and usage for your enterprise account]({% ifversion ghes %}/enterprise-cloud@latest{% endif %}/billing/managing-the-plan-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account)"
-* "[Managing invoices for your enterprise]({% ifversion ghes %}/enterprise-cloud@latest{% endif %}/billing/managing-the-plan-for-your-github-account/managing-invoices-for-your-enterprise)"
+* [Viewing the subscription and usage for your enterprise account]({% ifversion ghes %}/enterprise-cloud@latest{% endif %}/billing/managing-the-plan-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account)
+* [Managing invoices for your enterprise]({% ifversion ghes %}/enterprise-cloud@latest{% endif %}/billing/managing-the-plan-for-your-github-account/managing-invoices-for-your-enterprise)
-Administrators for your enterprise account on {% data variables.product.prodname_dotcom_the_website %} can access and manage billing for the enterprise. For more information, see "[Roles in an enterprise]({% ifversion ghes %}/enterprise-cloud@latest{% endif %}/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise){% ifversion ghec %}."{% elsif ghes %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% endif %}
+Administrators for your enterprise account on {% data variables.product.prodname_dotcom_the_website %} can access and manage billing for the enterprise. For more information, see [Roles in an enterprise]({% ifversion ghes %}/enterprise-cloud@latest{% endif %}/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise){% ifversion ghec %}.{% elsif ghes %} in the {% data variables.product.prodname_ghe_cloud %} documentation.{% endif %}
{% ifversion ghec %}
{% data reusables.enterprise-accounts.billing-azure-subscription-enterprise-only %} See [AUTOTITLE](/billing/managing-the-plan-for-your-github-account/connecting-an-azure-subscription).
diff --git a/content/billing/using-the-billing-platform/about-billing-on-github.md b/content/billing/using-the-billing-platform/about-billing-on-github.md
index 5697be2d5531..7b36458f7d64 100644
--- a/content/billing/using-the-billing-platform/about-billing-on-github.md
+++ b/content/billing/using-the-billing-platform/about-billing-on-github.md
@@ -139,6 +139,6 @@ If you're an organization or enterprise owner, you can switch between settings f
{% data reusables.user-settings.access_settings %}
1. At the top of the page, to the right of your name, click **Switch settings context**.
- ![Screenshot of the "Public profile" settings page for The Octocat. Next to the text "Your personal profile," a link, labeled "Switch settings context," is outlined in orange.](/assets/images/help/settings/context-switcher-button.png)
+ ![Screenshot of the "Public profile" settings for The Octocat. Next to "Your personal profile," a "Switch settings context" link is outlined in orange.](/assets/images/help/settings/context-switcher-button.png)
1. Start typing the name of the account you want to switch to, then click the name of the account.
1. In the left sidebar, click **{% octicon "credit-card" aria-hidden="true" %} Billing and plans**.
diff --git a/content/billing/using-the-billing-platform/adding-or-editing-a-payment-method.md b/content/billing/using-the-billing-platform/adding-or-editing-a-payment-method.md
index e28482f5b5bd..57a8f68dac73 100644
--- a/content/billing/using-the-billing-platform/adding-or-editing-a-payment-method.md
+++ b/content/billing/using-the-billing-platform/adding-or-editing-a-payment-method.md
@@ -91,7 +91,7 @@ You can update your enterprise account's credit card or PayPal details, or you c
{% data reusables.enterprise-accounts.billing-tab %}
1. Under "Payment information", click **Switch to invoice**.
- ![Screenshot of the billing page for an enterprise account. In the "Payment information" section, a link, labeled "Switch to invoice", is outlined in dark orange.](/assets/images/help/billing/switch-to-invoice.png)
+ ![Screenshot of the billing page for an enterprise account. In the "Payment information" section, a "Switch to invoice" link is outlined in orange.](/assets/images/help/billing/switch-to-invoice.png)
1. Complete the form, then click **Contact Sales**.
{% endif %}
diff --git a/content/billing/using-the-billing-platform/changing-the-duration-of-your-billing-cycle.md b/content/billing/using-the-billing-platform/changing-the-duration-of-your-billing-cycle.md
index 1285a811986c..2a4326efa17c 100644
--- a/content/billing/using-the-billing-platform/changing-the-duration-of-your-billing-cycle.md
+++ b/content/billing/using-the-billing-platform/changing-the-duration-of-your-billing-cycle.md
@@ -63,7 +63,7 @@ When you change your billing cycle's duration, your {% data variables.product.pr
{% data reusables.enterprise-accounts.billing-tab %}
1. Under "Payment information", click **Switch to yearly billing and save** or **Switch to monthly billing**.
- ![Screenshot of the billing page for an enterprise account. In the "Payment information" section, a link, labeled "Switch to yearly billing and save", is outlined in dark orange.](/assets/images/help/billing/switch-to-yearly-billing.png)
+ ![Screenshot of the billing page for an enterprise account. In "Payment information", a "Switch to yearly billing and save" link is outlined in orange.](/assets/images/help/billing/switch-to-yearly-billing.png)
1. Under "How often do you want to be billed?", select a billing cycle.
1. Click **Change your account's billing cycle**.
{% endif %}
diff --git a/content/code-security/adopting-github-advanced-security-at-scale/phase-2-preparing-to-enable-at-scale.md b/content/code-security/adopting-github-advanced-security-at-scale/phase-2-preparing-to-enable-at-scale.md
index 159ed7e8bcc3..e3836dd79696 100644
--- a/content/code-security/adopting-github-advanced-security-at-scale/phase-2-preparing-to-enable-at-scale.md
+++ b/content/code-security/adopting-github-advanced-security-at-scale/phase-2-preparing-to-enable-at-scale.md
@@ -37,7 +37,7 @@ Your core focus should be preparing as many teams to use {% data variables.produ
### Collecting information about your repositories
-You can programmatically gather information about the different programming languages used in your repositories and use that data to enable {% data variables.product.prodname_code_scanning %} on all repositories that use the same language, using {% data variables.product.product_name %}'s GraphQL API.
+You can programmatically gather information about the different programming languages used in your repositories and use that data to enable {% data variables.product.prodname_code_scanning %} on all repositories that use the same language, using {% data variables.product.github %}'s GraphQL API.
> [!NOTE]
> To gather this data without manually running the GraphQL queries described in this article, you can use our publicly available tool. For more information, see the [ghas-enablement tool](https://github.com/NickLiffen/ghas-enablement) repository.
@@ -123,19 +123,19 @@ Before you can proceed with pilot programs and rolling out {% data variables.pro
## Preparing to enable {% data variables.product.prodname_secret_scanning %}
> [!NOTE]
-> When a secret is detected in a repository that has enabled {% data variables.product.prodname_secret_scanning %}, {% data variables.product.prodname_dotcom %} alerts all users with access to security alerts for the repository. {% ifversion ghec %}
+> When a secret is detected in a repository that has enabled {% data variables.product.prodname_secret_scanning %}, {% data variables.product.github %} alerts all users with access to security alerts for the repository. {% ifversion ghec %}
>
-> Secrets found in public repositories using {% data variables.secret-scanning.partner_alerts %} are reported directly to the partner, without creating an alert on {% data variables.product.product_name %}. For details about the supported partner patterns, see [AUTOTITLE](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets).{% endif %}
+> Secrets found in public repositories using {% data variables.secret-scanning.partner_alerts %} are reported directly to the partner, without creating an alert on {% data variables.product.github %}. For details about the supported partner patterns, see [AUTOTITLE](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets).{% endif %}
-If a project communicates with an external service, it might use a token or private key for authentication. If you check a secret into a repository, anyone who has read access to the repository can use the secret to access the external service with your privileges. {% data variables.product.prodname_secret_scanning_caps %} will scan your entire Git history on all branches present in your {% data variables.product.prodname_dotcom %} repositories for secrets and alert you or block the push containing the secret. For more information, see [AUTOTITLE](/code-security/secret-scanning/introduction/about-secret-scanning).
+If a project communicates with an external service, it might use a token or private key for authentication. If you check a secret into a repository, anyone who has read access to the repository can use the secret to access the external service with your privileges. {% data variables.product.prodname_secret_scanning_caps %} will scan your entire Git history on all branches present in your {% data variables.product.github %} repositories for secrets and alert you or block the push containing the secret. For more information, see [AUTOTITLE](/code-security/secret-scanning/introduction/about-secret-scanning).
-{% ifversion ghec %}{% data variables.secret-scanning.partner_alerts_caps %} runs automatically on public repositories and public npm packages to notify service providers about leaked secrets on {% data variables.product.prodname_dotcom %}.
+{% ifversion ghec %}{% data variables.secret-scanning.partner_alerts_caps %} runs automatically on public repositories and public npm packages to notify service providers about leaked secrets on {% data variables.product.github %}.
{% data variables.secret-scanning.user_alerts_caps %} are available for free on all public repositories.{% endif %}
### Considerations when enabling {% data variables.product.prodname_secret_scanning %}
-{% ifversion default-setup-ghas-enablement %}Enabling{% else %}{% data variables.product.product_name %}’s {% data variables.product.prodname_secret_scanning %} capability is slightly different from {% data variables.product.prodname_code_scanning %} since it requires no specific configuration per programming language or per repository and less configuration overall to get started. This means enabling{% endif %} {% data variables.product.prodname_secret_scanning %} at the organizational level can be easy, but clicking **Enable All** at the organization level and selecting the option **Automatically enable {% data variables.product.prodname_secret_scanning %} for every new repository** has some downstream effects that you should be aware of:
+{% ifversion default-setup-ghas-enablement %}Enabling{% else %}{% data variables.product.github %}’s {% data variables.product.prodname_secret_scanning %} capability is slightly different from {% data variables.product.prodname_code_scanning %} since it requires no specific configuration per programming language or per repository and less configuration overall to get started. This means enabling{% endif %} {% data variables.product.prodname_secret_scanning %} at the organizational level can be easy, but clicking **Enable All** at the organization level and selecting the option **Automatically enable {% data variables.product.prodname_secret_scanning %} for every new repository** has some downstream effects that you should be aware of:
#### License consumption
@@ -149,7 +149,7 @@ If you are enabling {% data variables.product.prodname_secret_scanning %} on a l
### Custom patterns for {% data variables.product.prodname_secret_scanning %}
-{% data variables.product.prodname_secret_scanning_caps %} detects a large number of default patterns but can also be configured to detect custom patterns, such as secret formats unique to your infrastructure or used by integrators that {% data variables.product.product_name %}'s {% data variables.product.prodname_secret_scanning %} does not currently detect. For more information about supported secrets for partner patterns, see [AUTOTITLE](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns).
+{% data variables.product.prodname_secret_scanning_caps %} detects a large number of default patterns but can also be configured to detect custom patterns, such as secret formats unique to your infrastructure or used by integrators that {% data variables.product.github %}'s {% data variables.product.prodname_secret_scanning %} does not currently detect. For more information about supported secrets for partner patterns, see [AUTOTITLE](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns).
As you audit your repositories and speak to security and developer teams, build a list of the secret types that you will later use to configure custom patterns for {% data variables.product.prodname_secret_scanning %}. For more information, see [AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/defining-custom-patterns-for-secret-scanning).
diff --git a/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages.md b/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages.md
index 8c9a9e0d59e3..e0d90c0a16bc 100644
--- a/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages.md
+++ b/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages.md
@@ -295,7 +295,7 @@ If you added manual build steps for compiled languages and {% data variables.pro
## Autobuild steps for compiled languages
-{% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}-hosted runners are always run with the software required by `autobuild`.{% endif %} If you use self-hosted runners for {% data variables.product.prodname_actions %}, you may need to install additional software to use the `autobuild` process. Additionally, if your repository requires a specific version of a build tool, you may need to install it manually. {% ifversion code-scanning-default-setup-self-hosted-310 or default-setup-self-hosted-runners-GHEC %} For self-hosted runners, you should install dependencies directly in the runners themselves. We provide examples of common dependencies for C/C++, C#, and Java in each of the `autobuild` sections of this article for those languages. For more information, see [AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners).{% endif %}
+{% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}-hosted runners are always run with the software required by `autobuild`.{% endif %} If you use self-hosted runners for {% data variables.product.prodname_actions %}, you may need to install additional software to use the `autobuild` process. Additionally, if your repository requires a specific version of a build tool, you may need to install it manually. {% ifversion ghes or default-setup-self-hosted-runners-GHEC %} For self-hosted runners, you should install dependencies directly in the runners themselves. We provide examples of common dependencies for C/C++, C#, and Java in each of the `autobuild` sections of this article for those languages. For more information, see [AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners).{% endif %}
* [Building C/C++](#building-cc)
* [Building C#](#building-c)
@@ -468,7 +468,7 @@ The `autobuild` process attempts to autodetect a suitable way to install the dep
1. Extract all Go code in the repository, similar to running `go build ./...`.
> [!NOTE]
-> If you use default setup, it will look for a `go.mod` file to automatically install a compatible version of the Go language.{% ifversion code-scanning-default-setup-self-hosted-310 %} If you're using a self-hosted runner with default setup that doesn't have internet access, you can manually install a compatible version of Go.{% endif %}
+> If you use default setup, it will look for a `go.mod` file to automatically install a compatible version of the Go language.{% ifversion ghes %} If you're using a self-hosted runner with default setup that doesn't have internet access, you can manually install a compatible version of Go.{% endif %}
### Extractor options for Go
diff --git a/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning.md b/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning.md
index dc3557158859..9f7ea0b37f1b 100644
--- a/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning.md
+++ b/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning.md
@@ -97,7 +97,7 @@ For information on bulk enablement, see [AUTOTITLE](/code-security/code-scanning
## Configuring {% data variables.product.prodname_code_scanning %} using third-party actions
-{% data variables.product.product_name %} includes workflow templates for third-party actions, as well as the {% data variables.product.prodname_codeql %} action. Using a workflow template is much easier than writing a workflow unaided.
+{% data variables.product.github %} includes workflow templates for third-party actions, as well as the {% data variables.product.prodname_codeql %} action. Using a workflow template is much easier than writing a workflow unaided.
{% data reusables.code-scanning.billing %}
diff --git a/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.md b/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.md
index 2d465593e3c7..76f87f8c35ab 100644
--- a/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.md
+++ b/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.md
@@ -34,7 +34,7 @@ make sure that you also update the MS short link: https://aka.ms/code-scanning-d
## About {% data variables.product.prodname_code_scanning %} configuration
-You can run {% data variables.product.prodname_code_scanning %} on {% data variables.product.product_name %}, using {% data variables.product.prodname_actions %}, or from your continuous integration (CI) system. For more information, see [AUTOTITLE](/actions/learn-github-actions) or [AUTOTITLE](/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system).
+You can run {% data variables.product.prodname_code_scanning %} on {% data variables.product.github %}, using {% data variables.product.prodname_actions %}, or from your continuous integration (CI) system. For more information, see [AUTOTITLE](/actions/learn-github-actions) or [AUTOTITLE](/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system).
With advanced setup for {% data variables.product.prodname_code_scanning %}, you can customize a {% data variables.product.prodname_code_scanning %} workflow for granular control over your configuration. For more information, see [AUTOTITLE](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning).
@@ -241,7 +241,7 @@ This parameter is particularly useful if you work with monorepos and have multip
category: "my_category"
```
-If you don't specify a `category` parameter in your workflow, {% data variables.product.product_name %} will generate a category name for you, based on the name of the workflow file triggering the action, the action name, and any matrix variables. For example:
+If you don't specify a `category` parameter in your workflow, {% data variables.product.github %} will generate a category name for you, based on the name of the workflow file triggering the action, the action name, and any matrix variables. For example:
* The `.github/workflows/codeql-analysis.yml` workflow and the `analyze` action will produce the category `.github/workflows/codeql.yml:analyze`.
* The `.github/workflows/codeql-analysis.yml` workflow, the `analyze` action, and the `{language: {% ifversion codeql-language-identifiers-311 %}javascript-typescript{% else %}javascript{% endif %}, os: linux}` matrix variables will produce the category `.github/workflows/codeql-analysis.yml:analyze/language:{% ifversion codeql-language-identifiers-311 %}javascript-typescript{% else %}javascript{% endif %}/os:linux`.
@@ -288,7 +288,7 @@ To add one or more {% data variables.product.prodname_codeql %} query packs, add
> [!NOTE]
> For workflows that generate {% data variables.product.prodname_codeql %} databases for multiple languages, you must instead specify the {% data variables.product.prodname_codeql %} query packs in a configuration file. For more information, see [Specifying {% data variables.product.prodname_codeql %} query packs](#specifying-codeql-query-packs) below.
-In the example below, `scope` is the organization or personal account that published the package. When the workflow runs, the four {% data variables.product.prodname_codeql %} query packs are downloaded from {% data variables.product.product_name %} and the default queries or query suite for each pack run:
+In the example below, `scope` is the organization or personal account that published the package. When the workflow runs, the four {% data variables.product.prodname_codeql %} query packs are downloaded from {% data variables.product.github %} and the default queries or query suite for each pack run:
* The latest version of `pack1` is downloaded and all default queries are run.
* Version 1.2.3 of `pack2` is downloaded and all default queries are run.
* The latest version of `pack3` that is compatible with version 3.2.1 is downloaded and all queries are run.
diff --git a/content/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning.md b/content/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning.md
index ed9c87e385ec..b86d2c9ebfa7 100644
--- a/content/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning.md
+++ b/content/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning.md
@@ -50,7 +50,7 @@ If you need more granular control over your {% data variables.product.prodname_c
Your repository is eligible for default setup for {% data variables.product.prodname_code_scanning %} if:{% ifversion default-setup-pre-enablement %}
{% else %}
-* It includes at least one {% data variables.product.prodname_codeql %}-supported language{% ifversion codeql-swift-advanced-setup %} aside from Swift{% endif %}.{% endif %}
+* It includes at least one {% data variables.product.prodname_codeql %}-supported language{% ifversion ghes = 3.10 %} aside from Swift{% endif %}.{% endif %}
* {% data variables.product.prodname_actions %} are enabled.{% ifversion fpt %}
* It is publicly visible.{%- elsif ghec %}
* It is publicly visible, or {% data variables.product.prodname_GH_advanced_security %} is enabled.{%- elsif ghes %}
@@ -62,7 +62,7 @@ Your repository is eligible for default setup for {% data variables.product.prod
If your repository includes at least one {% data variables.product.prodname_codeql %}-supported language, you can use default setup even if your repository also includes languages that aren't supported by {% data variables.product.prodname_codeql %}, such as R. Unsupported languages will not be scanned by default setup. For more information on {% data variables.product.prodname_codeql %}-supported languages, see [AUTOTITLE](/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql#about-codeql).
{% endif %}
-You can use default setup for all {% data variables.product.prodname_codeql %}-supported languages{% ifversion codeql-swift-advanced-setup %} except Swift{% endif %} for self-hosted runners or {% data variables.product.prodname_dotcom %}-hosted runners. See [Assigning labels to runners](#assigning-labels-to-runners), later in this article.
+You can use default setup for all {% data variables.product.prodname_codeql %}-supported languages{% ifversion ghes = 3.10 %} except Swift{% endif %} for self-hosted runners or {% data variables.product.prodname_dotcom %}-hosted runners. See [Assigning labels to runners](#assigning-labels-to-runners), later in this article.
{% ifversion codeql-no-build %}Default setup uses the `none` build mode for {% data variables.code-scanning.no_build_support %} and uses the `autobuild` build mode for other compiled languages. You should configure your self-hosted runners to make sure they can run all the necessary commands for C/C++, C#, and Swift analysis. Analysis of JavaScript/TypeScript, Go, Ruby, Python, and Kotlin code does not currently require special configuration.{% else %}Default setup runs the `autobuild` action, so you should configure your self-hosted runners to make sure they can run all the necessary commands for {% data variables.code-scanning.compiled_languages %} analysis. Analysis of JavaScript/TypeScript, Go, Ruby, Python, and Kotlin code does not currently require special configuration.{% endif %}
@@ -78,7 +78,7 @@ We recommend that you start using {% data variables.product.prodname_code_scanni
If the code in a repository changes to include Go, JavaScript/TypeScript, Python, or Ruby, {% data variables.product.prodname_dotcom %} will automatically update the {% data variables.product.prodname_code_scanning %} configuration to include the new language. If {% data variables.product.prodname_code_scanning %} fails with the new configuration, {% data variables.product.prodname_dotcom %} will resume the previous configuration automatically so the repository does not lose {% data variables.product.prodname_code_scanning %} coverage.
{% endif %}
-Compiled languages are not automatically included in default setup configuration because they often require more advanced configuration, but you can manually select any {% data variables.product.prodname_codeql %}-supported compiled language{% ifversion codeql-swift-advanced-setup %} other than Swift{% endif %} for analysis.
+Compiled languages are not automatically included in default setup configuration because they often require more advanced configuration, but you can manually select any {% data variables.product.prodname_codeql %}-supported compiled language{% ifversion ghes = 3.10 %} other than Swift{% endif %} for analysis.
{% endif %}
diff --git a/content/code-security/code-scanning/integrating-with-code-scanning/about-integration-with-code-scanning.md b/content/code-security/code-scanning/integrating-with-code-scanning/about-integration-with-code-scanning.md
index 3da0624ff067..9fa1ec6f9731 100644
--- a/content/code-security/code-scanning/integrating-with-code-scanning/about-integration-with-code-scanning.md
+++ b/content/code-security/code-scanning/integrating-with-code-scanning/about-integration-with-code-scanning.md
@@ -30,7 +30,7 @@ As an alternative to running {% data variables.product.prodname_code_scanning %}
## Integrations with webhooks
-You can use {% data variables.product.prodname_code_scanning %} webhooks to build or configure integrations, such as [{% data variables.product.prodname_github_apps %}](/apps/creating-github-apps/setting-up-a-github-app) or [{% data variables.product.prodname_oauth_apps %}](/apps/oauth-apps/building-oauth-apps), that subscribe to {% data variables.product.prodname_code_scanning %} events in your repository. For example, you could build an integration that creates an issue on {% data variables.product.product_name %} or sends you a Slack notification when a new {% data variables.product.prodname_code_scanning %} alert is added in your repository. For more information, see [AUTOTITLE](/webhooks) and [AUTOTITLE](/webhooks-and-events/webhooks/webhook-events-and-payloads#code_scanning_alert).
+You can use {% data variables.product.prodname_code_scanning %} webhooks to build or configure integrations, such as [{% data variables.product.prodname_github_apps %}](/apps/creating-github-apps/setting-up-a-github-app) or [{% data variables.product.prodname_oauth_apps %}](/apps/oauth-apps/building-oauth-apps), that subscribe to {% data variables.product.prodname_code_scanning %} events in your repository. For example, you could build an integration that creates an issue on {% data variables.product.github %} or sends you a Slack notification when a new {% data variables.product.prodname_code_scanning %} alert is added in your repository. For more information, see [AUTOTITLE](/webhooks) and [AUTOTITLE](/webhooks-and-events/webhooks/webhook-events-and-payloads#code_scanning_alert).
## Further reading
diff --git a/content/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system.md b/content/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system.md
index a29f9a758162..6615e821fc37 100644
--- a/content/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system.md
+++ b/content/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system.md
@@ -27,13 +27,13 @@ topics:
## About using {% data variables.product.prodname_code_scanning %} with your existing CI system
-As an alternative to running {% data variables.product.prodname_code_scanning %} within {% data variables.product.prodname_dotcom %} using {% data variables.product.prodname_actions %}, you can analyze code in an external continuous integration or continuous delivery/deployment (CI/CD) system, then upload the results to {% data variables.product.product_name %}.
+As an alternative to running {% data variables.product.prodname_code_scanning %} within {% data variables.product.github %} using {% data variables.product.prodname_actions %}, you can analyze code in an external continuous integration or continuous delivery/deployment (CI/CD) system, then upload the results to {% data variables.product.github %}.
You can add the {% data variables.product.prodname_codeql_cli %} to your third-party system, or use another third-party static analysis tool that can produce results as Static Analysis Results Interchange Format (SARIF) 2.1.0 data. For more information about the supported SARIF format, see [AUTOTITLE](/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning).
The {% data variables.product.prodname_codeql_cli %} is a standalone, command-line tool that you can use to analyze code. For more information, see [AUTOTITLE](/code-security/codeql-cli/getting-started-with-the-codeql-cli/about-the-codeql-cli).
-Alerts for {% data variables.product.prodname_code_scanning %} that you generate externally are displayed in the same way as those for {% data variables.product.prodname_code_scanning %} that you generate within {% data variables.product.prodname_dotcom %}. {% data reusables.code-scanning.about-multiple-configurations-link %}
+Alerts for {% data variables.product.prodname_code_scanning %} that you generate externally are displayed in the same way as those for {% data variables.product.prodname_code_scanning %} that you generate within {% data variables.product.github %}. {% data reusables.code-scanning.about-multiple-configurations-link %}
{% data reusables.code-scanning.upload-sarif-ghas %}
@@ -53,16 +53,16 @@ You can then complete the steps to analyze your codebase and produce results, wh
If you are using the {% data variables.product.prodname_codeql_cli %}, you will first need to create a {% data variables.product.prodname_codeql %} database from your code, then analyze the database to produce SARIF results. For more information, see [AUTOTITLE](/code-security/codeql-cli/getting-started-with-the-codeql-cli/preparing-your-code-for-codeql-analysis) and [AUTOTITLE](/code-security/codeql-cli/getting-started-with-the-codeql-cli/analyzing-your-code-with-codeql-queries).
-## Generating a token for authentication with {% data variables.product.product_name %}
+## Generating a token for authentication with {% data variables.product.github %}
-Each CI server needs a {% data variables.product.prodname_github_app %} or {% data variables.product.pat_generic %} to use to upload results to {% data variables.product.product_name %}, whether you are using the {% data variables.product.prodname_codeql_cli %}, the REST API, or another method. You must use an access token or a {% data variables.product.prodname_github_app %} with the `security_events` write permission. If CI servers already use a token with this scope to checkout repositories from {% data variables.product.product_name %}, you could potentially use the same token. Otherwise, you should create a new token with the `security_events` write permission and add this to the CI system's secret store. For information, see [AUTOTITLE](/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps) and [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token).
+Each CI server needs a {% data variables.product.prodname_github_app %} or {% data variables.product.pat_generic %} to use to upload results to {% data variables.product.github %}, whether you are using the {% data variables.product.prodname_codeql_cli %}, the REST API, or another method. You must use an access token or a {% data variables.product.prodname_github_app %} with the `security_events` write permission. If CI servers already use a token with this scope to checkout repositories from {% data variables.product.github %}, you could potentially use the same token. Otherwise, you should create a new token with the `security_events` write permission and add this to the CI system's secret store. For information, see [AUTOTITLE](/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps) and [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token).
-For more information on the different methods for uploading results to {% data variables.product.product_name %}, see [AUTOTITLE](/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github).
+For more information on the different methods for uploading results to {% data variables.product.github %}, see [AUTOTITLE](/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github).
-## Uploading your results to {% data variables.product.product_name %}
+## Uploading your results to {% data variables.product.github %}
-Once you have analyzed your code, produced SARIF results, and ensured you can authenticate with {% data variables.product.product_name %}, you can upload the results to {% data variables.product.product_name %}. For more information on the different methods you can use to upload your results, see [AUTOTITLE](/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github).
+Once you have analyzed your code, produced SARIF results, and ensured you can authenticate with {% data variables.product.github %}, you can upload the results to {% data variables.product.github %}. For more information on the different methods you can use to upload your results, see [AUTOTITLE](/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github).
-For specific details on uploading your results to {% data variables.product.product_name %} using the {% data variables.product.prodname_codeql_cli %}, see [AUTOTITLE](/code-security/codeql-cli/getting-started-with-the-codeql-cli/uploading-codeql-analysis-results-to-github).
+For specific details on uploading your results to {% data variables.product.github %} using the {% data variables.product.prodname_codeql_cli %}, see [AUTOTITLE](/code-security/codeql-cli/getting-started-with-the-codeql-cli/uploading-codeql-analysis-results-to-github).
By default, {% data variables.product.prodname_code_scanning %} expects one SARIF results file per analysis for a repository. Consequently, when you upload a second SARIF results file for a commit, it is treated as a replacement for the original set of data. You may want to upload two different SARIF files for one analysis if, for example, your analysis tool generates a different SARIF file for each language it analyzes or each set of rules it uses. If you want to upload more than one set of results for a commit in a repository, you must identify each set of results as a unique set. The way to specify a category for a SARIF upload varies according to the analysis method. For more information, see [AUTOTITLE](/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning#uploading-more-than-one-sarif-file-for-a-commit).
diff --git a/content/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql.md b/content/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql.md
index 91eaf0483d36..238de99fac4b 100644
--- a/content/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql.md
+++ b/content/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql.md
@@ -31,7 +31,7 @@ There are three main ways to use {% data variables.product.prodname_codeql %} an
{% ifversion ghes %}
> [!NOTE]
-> On {% data variables.product.product_name %} {% ifversion ghes %}{{ allVersions[currentVersion].currentRelease }},{% endif %} the {% data variables.product.prodname_codeql %} action uses {% data variables.product.prodname_codeql_cli %} version {% data variables.product.codeql_cli_ghes_recommended_version %} by default. We recommend that you use the same version of the {% data variables.product.prodname_codeql_cli %} if you run analysis in an external CI system.
+> On {% data variables.product.prodname_ghe_server %} {{ allVersions[currentVersion].currentRelease }}, the {% data variables.product.prodname_codeql %} action uses {% data variables.product.prodname_codeql_cli %} version {% data variables.product.codeql_cli_ghes_recommended_version %} by default. We recommend that you use the same version of the {% data variables.product.prodname_codeql_cli %} if you run analysis in an external CI system.
{% endif %}
@@ -43,7 +43,7 @@ For information about {% data variables.product.prodname_code_scanning %} alerts
1. You generate a {% data variables.product.prodname_codeql %} database to represent your codebase.
1. Then you run {% data variables.product.prodname_codeql %} queries on that database to identify problems in the codebase.
-1. The query results are shown as {% data variables.product.prodname_code_scanning %} alerts in {% data variables.product.product_name %} when you use {% data variables.product.prodname_codeql %} with {% data variables.product.prodname_code_scanning %}.
+1. The query results are shown as {% data variables.product.prodname_code_scanning %} alerts in {% data variables.product.github %} when you use {% data variables.product.prodname_codeql %} with {% data variables.product.prodname_code_scanning %}.
{% data variables.product.prodname_codeql %} supports both compiled and interpreted languages, and can find vulnerabilities and errors in code that's written in the supported languages.
diff --git a/content/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning.md b/content/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning.md
index b9a7f0d3593f..5a0fa0dd4ddf 100644
--- a/content/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning.md
+++ b/content/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning.md
@@ -60,7 +60,7 @@ You can configure {% data variables.product.prodname_code_scanning %} to use the
{% data reusables.code-scanning.interoperable-with-tools-that-output-sarif %}
-You can run third-party analysis tools within {% data variables.product.product_name %} using actions or within an external CI system. For more information, see [AUTOTITLE](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning#configuring-code-scanning-using-third-party-actions) or [AUTOTITLE](/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github).
+You can run third-party analysis tools within {% data variables.product.github %} using actions or within an external CI system. For more information, see [AUTOTITLE](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning#configuring-code-scanning-using-third-party-actions) or [AUTOTITLE](/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github).
## About the {% data variables.code-scanning.tool_status_page %}
diff --git a/content/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts.md b/content/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts.md
index 140e60d43a13..90bd9e82e365 100644
--- a/content/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts.md
+++ b/content/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts.md
@@ -50,7 +50,7 @@ Each alert highlights a problem with the code and the name of the tool that iden
{% data reusables.code-scanning.alert-default-branch %}
-![Screenshot showing the elements of a {% data variables.product.prodname_code_scanning %} alert, including the title of the alert and relevant lines of code at left and the severity level, affected branches, and weaknesses at right. ](/assets/images/help/repository/code-scanning-alert.png)
+![Screenshot of a {% data variables.product.prodname_code_scanning %} alert, includes the alert title, relevant lines of code at the left, metadata at the right.](/assets/images/help/repository/code-scanning-alert.png)
If you configure {% data variables.product.prodname_code_scanning %} using {% data variables.product.prodname_codeql %}, you can also find data-flow problems in your code. Data-flow analysis finds potential security issues in code, such as: using data insecurely, passing dangerous arguments to functions, and leaking sensitive information.
@@ -66,7 +66,7 @@ An alert may display different statuses from different configurations. To update
### About labels for alerts that are not found in application code
-{% data variables.product.product_name %} assigns a category label to alerts that are not found in application code. The label relates to the location of the alert.
+{% data variables.product.github %} assigns a category label to alerts that are not found in application code. The label relates to the location of the alert.
* Generated: Code generated by the build process
* Test: Test code
diff --git a/content/code-security/code-scanning/managing-code-scanning-alerts/assessing-code-scanning-alerts-for-your-repository.md b/content/code-security/code-scanning/managing-code-scanning-alerts/assessing-code-scanning-alerts-for-your-repository.md
index 3fc21f3b2f2f..f9dddf94522e 100644
--- a/content/code-security/code-scanning/managing-code-scanning-alerts/assessing-code-scanning-alerts-for-your-repository.md
+++ b/content/code-security/code-scanning/managing-code-scanning-alerts/assessing-code-scanning-alerts-for-your-repository.md
@@ -79,7 +79,7 @@ You can use the "Only alerts in application code" filter or `autofilter:true` ke
## Searching {% data variables.product.prodname_code_scanning %} alerts
-You can search the list of alerts. This is useful if there is a large number of alerts in your repository, or if you don't know the exact name for an alert for example. {% data variables.product.product_name %} performs the free text search across:
+You can search the list of alerts. This is useful if there is a large number of alerts in your repository, or if you don't know the exact name for an alert for example. {% data variables.product.github %} performs the free text search across:
* The name of the alert
* The alert details (this also includes the information hidden from view by default in the **Show more** collapsible section)
diff --git a/content/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning.md b/content/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning.md
index 868a4b87e40c..71615a041417 100644
--- a/content/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning.md
+++ b/content/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning.md
@@ -54,7 +54,7 @@ When {% data variables.product.prodname_copilot_autofix_short %} is enabled for
Any {% data variables.product.prodname_copilot_autofix_short %} suggestions are generated and stored within the {% data variables.product.prodname_code_scanning %} backend. They are displayed as suggestions. No user interaction is needed beyond enabling {% data variables.product.prodname_code_scanning %} on the codebase and creating a pull request.
-The process of generating fixes does not gather or utilize any customer data beyond the scope outlined above. Therefore, the use of this feature is governed by the existing terms and conditions associated with {% data variables.product.prodname_GH_advanced_security %}. Moreover, data handled by {% data variables.product.prodname_copilot_autofix_short %} is strictly not employed for LLM training purposes. For more information on {% data variables.product.prodname_GH_advanced_security %} terms and conditions, see "[AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-terms-for-additional-products-and-features#advanced-security){% ifversion fpt %}."{% else %} in the Free, Pro, & Team documentation.{% endif %}
+The process of generating fixes does not gather or utilize any customer data beyond the scope outlined above. Therefore, the use of this feature is governed by the existing terms and conditions associated with {% data variables.product.prodname_GH_advanced_security %}. Moreover, data handled by {% data variables.product.prodname_copilot_autofix_short %} is strictly not employed for LLM training purposes. For more information on {% data variables.product.prodname_GH_advanced_security %} terms and conditions, see [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-terms-for-additional-products-and-features#advanced-security){% ifversion fpt %}.{% else %} in the Free, Pro, & Team documentation.{% endif %}
## Quality of suggestions
diff --git a/content/code-security/code-scanning/managing-code-scanning-alerts/tracking-code-scanning-alerts-in-issues-using-task-lists.md b/content/code-security/code-scanning/managing-code-scanning-alerts/tracking-code-scanning-alerts-in-issues-using-task-lists.md
index 365e368c05b8..ea6a5fbd647c 100644
--- a/content/code-security/code-scanning/managing-code-scanning-alerts/tracking-code-scanning-alerts-in-issues-using-task-lists.md
+++ b/content/code-security/code-scanning/managing-code-scanning-alerts/tracking-code-scanning-alerts-in-issues-using-task-lists.md
@@ -28,11 +28,11 @@ You can also quickly create a new issue to track an alert:
You can use more than one issue to track the same {% data variables.product.prodname_code_scanning %} alert, and issues can belong to different repositories from the repository where the {% data variables.product.prodname_code_scanning %} alert was found.
-{% data variables.product.product_name %} provides visual cues in different locations of the user interface to indicate when you are tracking {% data variables.product.prodname_code_scanning %} alerts in issues.
+{% data variables.product.github %} provides visual cues in different locations of the user interface to indicate when you are tracking {% data variables.product.prodname_code_scanning %} alerts in issues.
* The {% data variables.product.prodname_code_scanning %} alerts list page will show which alerts are tracked in issues so that you can view at a glance which alerts still require processing and how many issues they are tracked in.
- ![Screenshot of the {% data variables.product.prodname_code_scanning %} alerts view. The first entry includes the issue icon followed by the number 2. The third entry includes the issue icon followed by the number 1. Both are outlined in dark orange.](/assets/images/help/repository/code-scanning-alert-list-tracked-issues.png)
+ ![Screenshot of {% data variables.product.prodname_code_scanning %} alerts view. The first and third entries include the issue icon with the issue number.](/assets/images/help/repository/code-scanning-alert-list-tracked-issues.png)
* A "tracked in" section will also show in the corresponding alert page.
@@ -45,7 +45,7 @@ You can use more than one issue to track the same {% data variables.product.prod
The color of the icon is grey because an alert has a status of "open" or "closed" on every branch. The issue tracks an alert, so the alert cannot have a single open/closed state in the issue. If the alert is closed on one branch, the icon color will not change.
- ![Screenshot showing an issue that tracks a {% data variables.product.prodname_code_scanning %} alert. The hovercard for the alert is displayed, with a grey security badge icon preceding the title.](/assets/images/help/repository/code-scanning-tracking-issue-hovercard.png)
+ ![Screenshot of an issue that tracks a {% data variables.product.prodname_code_scanning %} alert. The hovercard is displayed, with a grey security badge icon.](/assets/images/help/repository/code-scanning-tracking-issue-hovercard.png)
The status of the tracked alert won't change if you change the checkbox state of the corresponding task list item (checked/unchecked) in the issue.
diff --git a/content/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests.md b/content/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests.md
index 3b550147b5b0..9be43757978d 100644
--- a/content/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests.md
+++ b/content/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests.md
@@ -133,7 +133,7 @@ When {% data variables.product.prodname_copilot_autofix_short %} is enabled for
Usually, when you suggest changes to a pull request, your comment contains changes for a single file that is changed in the pull request. The following screenshot shows an {% data variables.product.prodname_copilot_autofix_short %} comment that suggests changes to the `index.js` file where the alert is displayed. Since the potential fix requires a new dependency on `escape-html`, the comment also suggests adding this dependency to the `package.json` file, even though the original pull request makes no changes to this file.
-![Screenshot of the {% data variables.product.prodname_copilot_autofix_short %} suggestion with explanation and change in the current file. A suggested change in "package.json" is outlined in dark orange.](/assets/images/help/code-scanning/autofix-example.png)
+![Screenshot of {% data variables.product.prodname_copilot_autofix_short %} suggestion to edit the current file. A suggested change in "package.json" is outlined in dark orange.](/assets/images/help/code-scanning/autofix-example.png)
### Assessing and committing an {% data variables.product.prodname_copilot_autofix_short %} suggestion
diff --git a/content/code-security/code-scanning/troubleshooting-code-scanning/advanced-security-must-be-enabled.md b/content/code-security/code-scanning/troubleshooting-code-scanning/advanced-security-must-be-enabled.md
index dc78185375ed..e3741ba8de2c 100644
--- a/content/code-security/code-scanning/troubleshooting-code-scanning/advanced-security-must-be-enabled.md
+++ b/content/code-security/code-scanning/troubleshooting-code-scanning/advanced-security-must-be-enabled.md
@@ -39,7 +39,7 @@ If you are on a free, pro, or team plan, you can only use {% data variables.prod
1. If there is an associated and active **Enable** button, {% data variables.product.prodname_GH_advanced_security %} is available for this repository but not yet enabled.
1. If use of {% data variables.product.prodname_GH_advanced_security %} is blocked by a policy, the **Enable** button is inactive and the owner of the policy is listed.
- ![Screenshot of the "{% data variables.product.prodname_GH_advanced_security %}" setting. The owner of the enterprise policy and the inactive "Enable" button are highlighted with a dark orange outline.](/assets/images/help/repository/ghas-enterprise-policy-block.png)
+ ![Screenshot of the "{% data variables.product.prodname_GH_advanced_security %}" setting. The owner of the enterprise policy and the inactive "Enable" button are outlined in orange.](/assets/images/help/repository/ghas-enterprise-policy-block.png)
## Fixing the problem
diff --git a/content/code-security/code-scanning/troubleshooting-code-scanning/kotlin-detected-in-no-build.md b/content/code-security/code-scanning/troubleshooting-code-scanning/kotlin-detected-in-no-build.md
index ca0c7c65b316..4c1caf0ec1db 100644
--- a/content/code-security/code-scanning/troubleshooting-code-scanning/kotlin-detected-in-no-build.md
+++ b/content/code-security/code-scanning/troubleshooting-code-scanning/kotlin-detected-in-no-build.md
@@ -55,6 +55,6 @@ Update your calls to run the {% data variables.product.prodname_codeql_cli %} fo
## Further reading
* [AUTOTITLE](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning)
-* "[Building Java and Kotlin](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages#building-java-and-kotlin){% ifversion codeql-no-build %}
+* [Building Java and Kotlin](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages#building-java-and-kotlin){% ifversion codeql-no-build %}
* [CodeQL build modes](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages#codeql-build-modes){% elsif ghes %}
* [Adding build steps for a compiled language](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages#adding-build-steps-for-a-compiled-language){% endif %}
diff --git a/content/code-security/code-scanning/troubleshooting-code-scanning/resource-not-accessible.md b/content/code-security/code-scanning/troubleshooting-code-scanning/resource-not-accessible.md
index 1be196225fe9..f01dfcb46087 100644
--- a/content/code-security/code-scanning/troubleshooting-code-scanning/resource-not-accessible.md
+++ b/content/code-security/code-scanning/troubleshooting-code-scanning/resource-not-accessible.md
@@ -57,7 +57,7 @@ For more information about editing the {% data variables.product.prodname_codeql
If the {% data variables.code-scanning.codeql_workflow %} still fails on a commit made on the default branch, you need to check:
-* whether {% data variables.product.prodname_dependabot %} authored the commit
-* whether the pull request that includes the commit has been merged using `@dependabot squash and merge`
+* Whether {% data variables.product.prodname_dependabot %} authored the commit
+* Whether the pull request that includes the commit has been merged using `@dependabot squash and merge`
This type of merge commit is authored by {% data variables.product.prodname_dependabot %} and therefore, any workflows running on the commit will have read-only permissions. If you enabled {% data variables.product.prodname_code_scanning %} and {% data variables.product.prodname_dependabot %} security updates or version updates on your repository, we recommend you avoid using the {% data variables.product.prodname_dependabot %} `@dependabot squash and merge` command. Instead, you can enable auto-merge for your repository. This means that pull requests will be automatically merged when all required reviews are met and status checks have passed. For more information about enabling auto-merge, see [AUTOTITLE](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request#enabling-auto-merge).
diff --git a/content/code-security/code-scanning/troubleshooting-sarif-uploads/file-too-large.md b/content/code-security/code-scanning/troubleshooting-sarif-uploads/file-too-large.md
index aa5a6976dee0..a1854f8ebaf9 100644
--- a/content/code-security/code-scanning/troubleshooting-sarif-uploads/file-too-large.md
+++ b/content/code-security/code-scanning/troubleshooting-sarif-uploads/file-too-large.md
@@ -40,8 +40,8 @@ There are many potential causes of very large SARIF results files.
Take a look at the results file that was rejected by {% data variables.product.prodname_code_scanning %} to see if:
-* the SARIF file was compressed using gzip
-* the compressed file is smaller than 10 MB
+* The SARIF file was compressed using gzip
+* The compressed file is smaller than 10 MB
If the file wasn't compressed using gzip, try compressing the file before rerunning the upload process. If the compressed file is still too large, you need to configure the analysis to generate a smaller set of results.
diff --git a/content/code-security/codeql-cli/codeql-cli-manual/database-analyze.md b/content/code-security/codeql-cli/codeql-cli-manual/database-analyze.md
index b9c37ce4e5ed..bfb80d00348f 100644
--- a/content/code-security/codeql-cli/codeql-cli-manual/database-analyze.md
+++ b/content/code-security/codeql-cli/codeql-cli-manual/database-analyze.md
@@ -50,7 +50,7 @@ being interpreted as source-code alerts, use
\[Mandatory] Path to the CodeQL database to query.
-#### `...`
+#### `...`
Queries to execute. Each argument is in the form `scope/name@range:path`
where:
diff --git a/content/code-security/codeql-cli/codeql-cli-manual/database-interpret-results.md b/content/code-security/codeql-cli/codeql-cli-manual/database-interpret-results.md
index 7aa8c092d07f..585e149ab180 100644
--- a/content/code-security/codeql-cli/codeql-cli-manual/database-interpret-results.md
+++ b/content/code-security/codeql-cli/codeql-cli-manual/database-interpret-results.md
@@ -45,7 +45,7 @@ directory using [codeql database run-queries](/code-security/codeql-cli/codeql-c
\[Mandatory] Path to the CodeQL database that has been queried.
-#### `...`
+#### `...`
Repeat the specification of which queries were executed here.
diff --git a/content/code-security/codeql-cli/codeql-cli-manual/database-run-queries.md b/content/code-security/codeql-cli/codeql-cli-manual/database-run-queries.md
index a93ec00f1b51..671abf70dae8 100644
--- a/content/code-security/codeql-cli/codeql-cli-manual/database-run-queries.md
+++ b/content/code-security/codeql-cli/codeql-cli-manual/database-run-queries.md
@@ -50,7 +50,7 @@ Alternatively, if you have only a single query to run, you might prefer
\[Mandatory] Path to the CodeQL database to query.
-#### `...`
+#### `...`
Queries to execute. Each argument is in the form `scope/name@range:path`
where:
diff --git a/content/code-security/codeql-cli/codeql-cli-manual/execute-queries.md b/content/code-security/codeql-cli/codeql-cli-manual/execute-queries.md
index d125d7541f5d..2dff4de6a2be 100644
--- a/content/code-security/codeql-cli/codeql-cli-manual/execute-queries.md
+++ b/content/code-security/codeql-cli/codeql-cli-manual/execute-queries.md
@@ -42,7 +42,7 @@ This command should not normally be invoked directly. Instead use either
\[Mandatory] Path to the raw QL dataset to query.
-#### `...`
+#### `...`
\[Mandatory] Queries to execute. Each argument is in the form
`scope/name@range:path` where:
diff --git a/content/code-security/codeql-cli/codeql-cli-manual/generate-query-help.md b/content/code-security/codeql-cli/codeql-cli-manual/generate-query-help.md
index 3ac61d92733f..1ffeffeada5f 100644
--- a/content/code-security/codeql-cli/codeql-cli-manual/generate-query-help.md
+++ b/content/code-security/codeql-cli/codeql-cli-manual/generate-query-help.md
@@ -35,7 +35,7 @@ Generate end-user query help from .qhelp files.
### Primary Options
-#### `...`
+#### `...`
\[Mandatory] Query help files to render. Each argument is one of:
diff --git a/content/code-security/codeql-cli/codeql-cli-manual/resolve-extensions.md b/content/code-security/codeql-cli/codeql-cli-manual/resolve-extensions.md
index a6affc2004b4..c374b9cf364d 100644
--- a/content/code-security/codeql-cli/codeql-cli-manual/resolve-extensions.md
+++ b/content/code-security/codeql-cli/codeql-cli-manual/resolve-extensions.md
@@ -42,7 +42,7 @@ specifiers passed in as command line arguments.
### Primary Options
-#### `...`
+#### `...`
\[Mandatory] Queries to execute. Each argument is in the form
`scope/name@range:path` where:
diff --git a/content/code-security/codeql-cli/codeql-cli-manual/resolve-ml-models.md b/content/code-security/codeql-cli/codeql-cli-manual/resolve-ml-models.md
index 5e7566b6a2c3..ba06d1bb8d54 100644
--- a/content/code-security/codeql-cli/codeql-cli-manual/resolve-ml-models.md
+++ b/content/code-security/codeql-cli/codeql-cli-manual/resolve-ml-models.md
@@ -44,7 +44,7 @@ It now returns an empty list of machine learning models.
### Primary Options
-#### `...`
+#### `...`
\[Mandatory] Queries to execute. Each argument is in the form
`scope/name@range:path` where:
diff --git a/content/code-security/codeql-cli/codeql-cli-manual/resolve-queries.md b/content/code-security/codeql-cli/codeql-cli-manual/resolve-queries.md
index c2d67fd46d47..e04cdcb92d3a 100644
--- a/content/code-security/codeql-cli/codeql-cli-manual/resolve-queries.md
+++ b/content/code-security/codeql-cli/codeql-cli-manual/resolve-queries.md
@@ -44,7 +44,7 @@ list of queries.
### Primary Options
-#### `...`
+#### `...`
\[Mandatory] Queries to execute. Each argument is in the form
`scope/name@range:path` where:
diff --git a/content/code-security/codeql-cli/getting-started-with-the-codeql-cli/about-the-codeql-cli.md b/content/code-security/codeql-cli/getting-started-with-the-codeql-cli/about-the-codeql-cli.md
index dc92537ce0e1..3a7a70482039 100644
--- a/content/code-security/codeql-cli/getting-started-with-the-codeql-cli/about-the-codeql-cli.md
+++ b/content/code-security/codeql-cli/getting-started-with-the-codeql-cli/about-the-codeql-cli.md
@@ -1,6 +1,6 @@
---
title: About the CodeQL CLI
-intro: 'You can use the {% data variables.product.prodname_codeql_cli %} to run {% data variables.product.prodname_codeql %} processes locally on software projects or to generate {% data variables.product.prodname_code_scanning %} results for upload to {% data variables.product.product_name %}.'
+intro: 'You can use the {% data variables.product.prodname_codeql_cli %} to run {% data variables.product.prodname_codeql %} processes locally on software projects or to generate {% data variables.product.prodname_code_scanning %} results for upload to {% data variables.product.github %}.'
product: '{% data reusables.gated-features.codeql %}'
versions:
fpt: '*'
@@ -32,7 +32,7 @@ using {% data variables.product.prodname_codeql %} analysis. For more informatio
You can use the {% data variables.product.prodname_codeql_cli %} to:
* Run {% data variables.product.prodname_codeql %} analyses using queries provided by {% data variables.product.prodname_dotcom %} engineers and the open source community
-* Generate code scanning alerts that you can upload to display in {% data variables.product.product_name %}
+* Generate code scanning alerts that you can upload to display in {% data variables.product.github %}
* Create {% data variables.product.prodname_codeql %} databases to use in the {% data variables.product.prodname_codeql %} for {% data variables.product.prodname_vscode %} extension.
* Develop and test custom {% data variables.product.prodname_codeql %} queries to use in your own analyses
@@ -59,17 +59,17 @@ For an overview of all the options for using {% data variables.product.prodname_
If you choose to run the {% data variables.product.prodname_codeql_cli %} directly, you first have to install the {% data variables.product.prodname_codeql_cli %} locally. If you are planning to use the {% data variables.product.prodname_codeql_cli %} with an external CI system, you need to make the {% data variables.product.prodname_codeql_cli %} available to servers in your CI system. For more information, see [AUTOTITLE](/code-security/codeql-cli/getting-started-with-the-codeql-cli/setting-up-the-codeql-cli).
-Once the {% data variables.product.prodname_codeql_cli %} is set up, you can use three different commands to generate results and upload them to {% data variables.product.product_name %}:
+Once the {% data variables.product.prodname_codeql_cli %} is set up, you can use three different commands to generate results and upload them to {% data variables.product.github %}:
1. `database create` to create a {% data variables.product.prodname_codeql %} database to represent the hierarchical structure of each supported programming language in the repository. For more information, see [AUTOTITLE](/code-security/codeql-cli/getting-started-with-the-codeql-cli/preparing-your-code-for-codeql-analysis).
1. `database analyze` to run queries to analyze each {% data variables.product.prodname_codeql %} database and summarize the results in a SARIF file. For more information, see [AUTOTITLE](/code-security/codeql-cli/getting-started-with-the-codeql-cli/analyzing-your-code-with-codeql-queries).
-1. `github upload-results` to upload the resulting SARIF files to {% data variables.product.product_name %} where the results are matched to a branch or pull request and displayed as {% data variables.product.prodname_code_scanning %} alerts. For more information, see [AUTOTITLE](/code-security/codeql-cli/getting-started-with-the-codeql-cli/uploading-codeql-analysis-results-to-github).
+1. `github upload-results` to upload the resulting SARIF files to {% data variables.product.github %} where the results are matched to a branch or pull request and displayed as {% data variables.product.prodname_code_scanning %} alerts. For more information, see [AUTOTITLE](/code-security/codeql-cli/getting-started-with-the-codeql-cli/uploading-codeql-analysis-results-to-github).
{% data reusables.code-scanning.upload-sarif-ghas %}
### Example CI configuration for {% data variables.product.prodname_codeql %} analysis
-This is an example of the full series of commands for the {% data variables.product.prodname_codeql_cli %} that you might use to analyze a codebase with two supported languages and then upload the results to {% data variables.product.product_name %}.
+This is an example of the full series of commands for the {% data variables.product.prodname_codeql_cli %} that you might use to analyze a codebase with two supported languages and then upload the results to {% data variables.product.github %}.
```shell
# Create CodeQL databases for Java and Python in the 'codeql-dbs' directory
diff --git a/content/code-security/codeql-cli/getting-started-with-the-codeql-cli/analyzing-your-code-with-codeql-queries.md b/content/code-security/codeql-cli/getting-started-with-the-codeql-cli/analyzing-your-code-with-codeql-queries.md
index 0ab008c51268..51938a664a8b 100644
--- a/content/code-security/codeql-cli/getting-started-with-the-codeql-cli/analyzing-your-code-with-codeql-queries.md
+++ b/content/code-security/codeql-cli/getting-started-with-the-codeql-cli/analyzing-your-code-with-codeql-queries.md
@@ -20,7 +20,7 @@ redirect_from:
{% data reusables.code-scanning.codeql-cli-version-ghes %}
-To analyze a codebase, you run queries against a {% data variables.product.prodname_codeql %} database extracted from the code. {% data variables.product.prodname_codeql %} analyses produce results that can be uploaded to {% data variables.product.product_name %} to generate code scanning alerts.
+To analyze a codebase, you run queries against a {% data variables.product.prodname_codeql %} database extracted from the code. {% data variables.product.prodname_codeql %} analyses produce results that can be uploaded to {% data variables.product.github %} to generate code scanning alerts.
## Prerequisites
@@ -48,7 +48,7 @@ codeql database analyze --format= --output=