Skip to content

Commit 60fbc6c

Browse files
authored
Merge pull request #44677 from github/repo-sync
Repo sync
2 parents e635641 + 77fdace commit 60fbc6c

123 files changed

Lines changed: 730581 additions & 354 deletions

File tree

Some content is hidden

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

.github/prompts/code-review.prompt.md

Lines changed: 0 additions & 145 deletions
This file was deleted.

.github/workflows/changelog-agent.yml

Lines changed: 14 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -321,12 +321,6 @@ jobs:
321321
322322
core.setOutput('examples', examples.join('\n'));
323323
324-
- name: Set up Node.js
325-
if: steps.check_parent.outputs.has_parent == 'true' && steps.check_existing.outputs.exists == 'false'
326-
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
327-
with:
328-
node-version-file: 'package.json'
329-
330324
- name: Prepare prompts for LLM
331325
if: steps.check_parent.outputs.has_parent == 'true' && steps.check_existing.outputs.exists == 'false'
332326
id: prepare_prompts
@@ -724,39 +718,17 @@ jobs:
724718
body: `<!-- changelog-agent-handled -->\n🤖 A changelog draft PR has been automatically created in docs-content: ${changelogPrUrl}`,
725719
});
726720
727-
- name: Send Slack failure alert
728-
if: failure()
729-
env:
730-
SLACK_CHANNEL_ID: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }}
731-
SLACK_TOKEN: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
732-
WORKFLOW_NAME: ${{ github.workflow }}
733-
REPOSITORY: ${{ github.repository }}
734-
RUN_ID: ${{ github.run_id }}
735-
SERVER_URL: ${{ github.server_url }}
736-
run: |
737-
curl -sS -X POST https://slack.com/api/chat.postMessage \
738-
-H "Authorization: Bearer ${SLACK_TOKEN}" \
739-
-H "Content-Type: application/json; charset=utf-8" \
740-
--data "$(cat <<EOF
741-
{
742-
"channel": "${SLACK_CHANNEL_ID}",
743-
"text": ":warning: Workflow failure in ${REPOSITORY}",
744-
"blocks": [
745-
{
746-
"type": "section",
747-
"text": {
748-
"type": "mrkdwn",
749-
"text": ":warning: *${WORKFLOW_NAME}* failed in *${REPOSITORY}*"
750-
}
751-
},
752-
{
753-
"type": "section",
754-
"text": {
755-
"type": "mrkdwn",
756-
"text": "<${SERVER_URL}/${REPOSITORY}/actions/runs/${RUN_ID}|View workflow run>"
757-
}
758-
}
759-
]
760-
}
761-
EOF
762-
)"
721+
# Local composite actions below require the repository to be checked out.
722+
- name: Check out repo
723+
if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
724+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
725+
726+
- uses: ./.github/actions/slack-alert
727+
if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
728+
with:
729+
slack_token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
730+
731+
- uses: ./.github/actions/create-workflow-failure-issue
732+
if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
733+
with:
734+
token: ${{ secrets.DOCS_BOT_PAT_BASE }}

.github/workflows/local-dev.yml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,20 @@ jobs:
2121

2222
- uses: ./.github/actions/node-npm-setup
2323

24+
- name: Generate GitHub App token
25+
if: ${{ github.repository == 'github/docs-internal' }}
26+
id: app-token
27+
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
28+
with:
29+
app-id: ${{ secrets.DOCS_BOT_APP_ID }}
30+
private-key: ${{ secrets.DOCS_BOT_APP_PRIVATE_KEY }}
31+
owner: github
32+
repositories: docs-early-access
33+
2434
- uses: ./.github/actions/get-docs-early-access
2535
if: ${{ github.repository == 'github/docs-internal' }}
2636
with:
27-
token: ${{ secrets.DOCS_BOT_PAT_BASE }}
37+
token: ${{ steps.app-token.outputs.token }}
2838

2939
- name: Disable Next.js telemetry
3040
run: npx next telemetry disable

config/kubernetes/default/deployments/webapp.yaml

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,19 +26,24 @@ spec:
2626
containers:
2727
- name: webapp
2828
image: docs-internal
29+
# Retune using 2 weeks of data
30+
# https://app.datadoghq.com/dashboard/6vx-iun-ghs/moda-resource-recommendations?tpl_var_kube_namespace%5B0%5D=docs-internal-staging-balsam&tpl_var_kube_namespace%5B1%5D=docs-internal-staging-boxwood&tpl_var_kube_namespace%5B2%5D=docs-internal-staging-cedar&tpl_var_kube_namespace%5B3%5D=docs-internal-staging-cypress&tpl_var_kube_namespace%5B4%5D=docs-internal-staging-fir&tpl_var_kube_namespace%5B5%5D=docs-internal-staging-hemlock&tpl_var_kube_namespace%5B6%5D=docs-internal-staging-hinoki&tpl_var_kube_namespace%5B7%5D=docs-internal-staging-holly&tpl_var_kube_namespace%5B8%5D=docs-internal-staging-juniper&tpl_var_kube_namespace%5B9%5D=docs-internal-staging-laurel&tpl_var_kube_namespace%5B10%5D=docs-internal-staging-pine&tpl_var_kube_namespace%5B11%5D=docs-internal-staging-redwood&tpl_var_kube_namespace%5B12%5D=docs-internal-staging-sequoia&tpl_var_kube_namespace%5B13%5D=docs-internal-staging-spruce&tpl_var_kube_namespace%5B14%5D=docs-internal-staging-yew&from_ts=0&to_ts=1209600000&live=true
31+
# Staging is not budget checked
2932
resources:
3033
requests:
31-
cpu: 1000m
32-
# Absolute minimum to start app is 1000m
33-
# Node is single-threaded but we want more CPUs
34-
# for OS and image resizing, and other binary executions
35-
# Better to increase replicas or memory than CPU
36-
memory: 8.0Gi
37-
# Absolute minimum to start app is 4500Mi
38-
# Would increase with more pages, versions, or languages supported
34+
# requests.cpu: 150m idle schedule floor
35+
# staging idles near zero
36+
cpu: 150m
37+
# requests.memory: highest-peak pod p99 (1882Mi) * 1.1
38+
# for working-set padding
39+
memory: 2070Mi
3940
limits:
40-
cpu: 8000m
41-
memory: 8.0Gi
41+
# limits.cpu: highest-peak pod max [warmup peak] (1.82 cores) * 3
42+
# for start up insurance; compressible
43+
cpu: 5460m
44+
# limits.memory: highest-peak pod max (1882Mi) * 2
45+
# over-limit means OOMkill; non-compressible
46+
memory: 3764Mi
4247
ports:
4348
- name: http
4449
containerPort: 4000

config/kubernetes/production/deployments/webapp.yaml

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -38,20 +38,24 @@ spec:
3838
containers:
3939
- name: webapp
4040
image: docs-internal
41+
# Retune using 2 weeks of data
42+
# https://app.datadoghq.com/dashboard/6vx-iun-ghs/moda-resource-recommendations?tpl_var_kube_namespace%5B0%5D=docs-internal-production&from_ts=0&to_ts=1209600000&live=true
43+
# Moda budget is requests * replicas * clusters
4144
resources:
4245
requests:
43-
cpu: 1500m
44-
# Absolute minimum to start app is 1000m
45-
# Node is single-threaded but we want more CPUs
46-
# for OS and image resizing, and other binary executions
47-
# Better to increase replicas or memory than CPU
48-
memory: 5000Mi
49-
# Absolute minimum to start app is 4500Mi
50-
# Would increase with more pages, versions, or languages supported
51-
# The additional memory helps during traffic surges
46+
# requests.cpu: median pod p99 (0.32 cores) * 2
47+
# for failover headroom
48+
cpu: 640m
49+
# requests.memory: highest-peak pod p99 (4740Mi) * 1.1
50+
# for working-set padding
51+
memory: 5214Mi
5252
limits:
53-
cpu: 8000m
54-
memory: 14.0Gi
53+
# limits.cpu: highest-peak pod max [warmup peak] (2.42 cores) * 3
54+
# for start up insurance; compressible; does not count towards budget
55+
cpu: 7260m
56+
# limits.memory: highest-peak pod max (4813Mi) * 2
57+
# over-limit means OOMkill; non-compressible
58+
memory: 9626Mi
5559
ports:
5660
- name: http
5761
containerPort: 4000

content/actions/how-tos/secure-your-work/security-harden-deployments/oidc-in-aws.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,17 @@ Edit the trust policy, adding the `sub` field to the validation conditions. For
7070
}
7171
```
7272

73+
For repositories created after July 15, 2026, or that have opted in to immutable subject claims, the `sub` claim includes immutable owner and repository IDs (not available on {% data variables.product.prodname_ghe_server %}). Make sure your trust policy matches the format your repository uses. For more information, see [AUTOTITLE](/actions/reference/openid-connect-reference#immutable-subject-claims).
74+
75+
```json copy
76+
"Condition": {
77+
"StringEquals": {
78+
"token.actions.githubusercontent.com:aud": "sts.amazonaws.com",
79+
"token.actions.githubusercontent.com:sub": "repo:octo-org@123456/octo-repo@456789:ref:refs/heads/octo-branch"
80+
}
81+
}
82+
```
83+
7384
If you use a workflow with an environment, the `sub` field must reference the environment name: `repo:ORG-NAME/REPO-NAME:environment:ENVIRONMENT-NAME`. For more information, see [AUTOTITLE](/actions/reference/openid-connect-reference#filtering-for-a-specific-environment).
7485

7586
{% data reusables.actions.oidc-deployment-protection-rules %}

content/actions/how-tos/secure-your-work/security-harden-deployments/oidc-in-azure.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ This guide gives an overview of how to configure Azure to trust {% data variable
3232

3333
{% data reusables.actions.oidc-on-ghecom %}
3434

35+
For repositories created after July 15, 2026, and repository renames or transfers after that date, use an immutable default OIDC `sub` claim that includes owner and repository IDs (not available on {% data variables.product.prodname_ghe_server %}). Existing repositories keep the previous format unless they opt in. For more information, see [AUTOTITLE](/actions/reference/openid-connect-reference#immutable-subject-claims).
36+
3537
{% ifversion ghes %}
3638
{% data reusables.actions.oidc-endpoints %}
3739
<!-- This note is indented to align with the above reusable. -->

content/actions/how-tos/secure-your-work/security-harden-deployments/oidc-in-google-cloud-platform.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ This guide gives an overview of how to configure GCP to trust {% data variables.
3131

3232
{% data reusables.actions.oidc-on-ghecom %}
3333

34+
For repositories created after July 15, 2026, and repository renames or transfers after that date, use an immutable default OIDC `sub` claim that includes owner and repository IDs (not available on {% data variables.product.prodname_ghe_server %}). Existing repositories keep the previous format unless they opt in. For more information, see [AUTOTITLE](/actions/reference/openid-connect-reference#immutable-subject-claims).
35+
3436
{% ifversion ghes %}
3537
{% data reusables.actions.oidc-endpoints %}
3638
<!-- This note is indented to align with the above reusable. -->

0 commit comments

Comments
 (0)