Skip to content

Commit 32d586b

Browse files
committed
Merge remote-tracking branch 'private/main'
2 parents 0b52168 + dbf8b51 commit 32d586b

File tree

23 files changed

+333
-179
lines changed

23 files changed

+333
-179
lines changed

.github/workflows/sync-openapi.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ jobs:
4848
# will be checked out
4949
repository: github/models-gateway
5050
path: models-gateway
51+
ref: main
5152

5253
- uses: ./.github/actions/node-npm-setup
5354

.github/workflows/triage-issue-comments.yml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,22 @@ jobs:
4747

4848
- uses: ./.github/actions/node-npm-setup
4949

50+
- name: Check issue exists
51+
id: exists
52+
env:
53+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
54+
ISSUE_URL: ${{ github.event.issue.html_url }}
55+
run: |
56+
if gh issue view $ISSUE_URL > /dev/null 2>&1
57+
then
58+
echo "exists=y" >> $GITHUB_OUTPUT
59+
else
60+
echo "exists=n" >> $GITHUB_OUTPUT
61+
fi
62+
5063
- name: Label issues with new comments with 'triage'
5164
uses: ./.github/actions/labeler
52-
if: ${{ steps.is-internal-contributor.outputs.result == 'false' }}
65+
if: ${{ steps.is-internal-contributor.outputs.result == 'false' && steps.exists.outputs.exists == 'y' }}
5366
with:
5467
addLabels: 'triage'
5568
ignoreIfLabeled: true

content/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,13 @@ For information about {% data variables.product.prodname_code_scanning %} alerts
4747

4848
{% 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.
4949

50+
{% data variables.product.prodname_codeql %} supports the following languages:
51+
5052
{% data reusables.code-scanning.codeql-languages-bullets %}
5153

54+
> [!IMPORTANT]
55+
> {% data variables.product.prodname_codeql %} does **not** support languages that are not listed above. This includes, but is not limited to, **Rust**, **PHP**, **Scala**, and others. Attempting to use {% data variables.product.prodname_codeql %} with unsupported languages may result in no alerts being generated and incomplete analysis.
56+
5257
## Modeling custom or niche frameworks
5358

5459
{% data variables.product.github %} experts, security researchers, and community contributors write libraries to model the flow of data in popular frameworks and libraries. If you use custom dependencies that aren't modeled, then you can use the {% data variables.product.prodname_codeql %} extension for {% data variables.product.prodname_vscode %} to create models for these dependencies and use them to extend your analysis. For more information, see [AUTOTITLE](/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/using-the-codeql-model-editor).

content/code-security/securing-your-organization/enabling-security-features-in-your-organization/applying-the-github-recommended-security-configuration-in-your-organization.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ topics:
1717
The {% data variables.product.prodname_github_security_configuration %} is a collection of enablement settings for {% data variables.product.company_short %}'s security features that is created and maintained by subject matter experts at {% data variables.product.company_short %}. The {% data variables.product.prodname_github_security_configuration %} is designed to successfully reduce the security risks for low- and high-impact repositories. We recommend you apply this configuration to all the repositories in your organization.
1818

1919
> [!NOTE]
20-
> The {% data variables.product.prodname_github_security_configuration %} includes {% data variables.product.prodname_GH_code_security %} and {% data variables.product.prodname_GH_secret_protection %} features. Applying the configuration to private and internal repositories in your organization will incur usage costs or require licenses.
20+
> The {% data variables.product.prodname_github_security_configuration %} includes {% data variables.product.prodname_GH_code_security %} and {% data variables.product.prodname_GH_secret_protection %} features. Applying the configuration to repositories in your organization will incur usage costs or require licenses.
2121
2222
## Applying the {% data variables.product.prodname_github_security_configuration %} to all repositories in your organization
2323

content/code-security/securing-your-organization/introduction-to-securing-your-organization-at-scale/choosing-a-security-configuration-for-your-repositories.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ The {% data variables.product.prodname_github_security_configuration %} offers a
3131
* It is the quickest {% data variables.product.prodname_security_configuration %} to apply to all repositories in your organization.
3232
* It is designed to effectively secure both low- and high-impact repositories.
3333

34-
The {% data variables.product.prodname_github_security_configuration %} includes {% data variables.product.prodname_GH_code_security %} and {% data variables.product.prodname_GH_secret_protection %} features. Applying the configuration to private and internal repositories in your organization will incur usage costs or require licenses.
34+
The {% data variables.product.prodname_github_security_configuration %} includes {% data variables.product.prodname_GH_code_security %} and {% data variables.product.prodname_GH_secret_protection %} features. Applying the configuration to repositories in your organization will incur usage costs or require licenses.
3535

3636
To start securing repositories in your organization with the {% data variables.product.prodname_github_security_configuration %}, see [AUTOTITLE](/code-security/securing-your-organization/enabling-security-features-in-your-organization/applying-the-github-recommended-security-configuration-in-your-organization).
3737

content/github-models/use-github-models/prototyping-with-ai-models.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ Low, high, and embedding models have different rate limits. To see which type of
265265
<td>1</td>
266266
</tr>
267267
<tr>
268-
<th rowspan="4" scope="rowgroup"><b>Azure OpenAI o1 and o3</b></th>
268+
<th rowspan="4" scope="rowgroup"><b>Azure OpenAI o1 and o3, xAI Grok-3</b></th>
269269
<th style="padding-left: 0"><b>Requests per minute</b></th>
270270
<td>Not applicable</td>
271271
<td>1</td>

content/github-models/use-github-models/storing-prompts-in-github-repositories.md

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,39 +18,49 @@ Prompts can be stored as files directly within GitHub repositories. This unlocks
1818

1919
## Supported file format
2020

21-
Store prompts in markdown files with optional YAML front matter.
21+
Store prompts in YAML files.
2222

23-
The file can be located anywhere in your repository, but it **must have the extension `.prompt.md`**.
23+
The file can be located anywhere in your repository, but _must have the extension `.prompt.yml` or `.prompt.yaml`._
2424

2525
Example:
2626

27-
```yaml
28-
---
29-
name: Summarizer
30-
description: Summarizes a given text
31-
model: openai/gpt-4o
32-
model_parameters:
27+
``` yaml copy
28+
name: Text Summarizer
29+
description: Summarizes input text concisely
30+
model: gpt-4o-mini
31+
modelParameters:
3332
temperature: 0.5
34-
---
35-
system:
36-
You are a text summarizer. Your only job is to summarize a given text to you.
37-
user:
38-
Summarize the given text:
39-
<text>
40-
{% raw %}{{text}}{% endraw %}
41-
</text>
33+
messages:
34+
- role: system
35+
content: You are a text summarizer. Your only job is to summarize text given to you.
36+
- role: user
37+
content: |
38+
Summarize the given text, beginning with "Summary -":
39+
<text>
40+
{% raw %}{{input}}{% endraw %}
41+
</text>
42+
testData:
43+
- input: |
44+
The quick brown fox jumped over the lazy dog.
45+
The dog was too tired to react.
46+
expected: Summary - A fox jumped over a lazy, unresponsive dog.
47+
evaluators:
48+
- name: Output should start with 'Summary -'
49+
string:
50+
startsWith: 'Summary -'
4251
```
4352
4453
## Prompt structure
4554
4655
Prompts have two key parts:
4756
4857
* **Runtime information** (required)
49-
* Prompt templates (system, user, etc.) using simple {{variable}} placeholders
58+
* Prompt templates (system, user, etc.) using simple {% raw %}`{{variable}}`{% endraw %} placeholders
5059
* **Development information** (optional)
5160
* Human-readable name and description
5261
* Model identifier and parameters
5362
* Sample data for testing and evaluations
63+
* Data describing the evaluators themselves
5464

5565
## Limitations
5666

data/ui.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ search:
4747
privacy_disclaimer: For product and service improvement purposes, the GitHub Docs team will retain questions and answers generated in the Docs search function. Please see the <a href="https://docs.github.com/privacy"><u>GitHub Privacy Statement</u></a> to review how GitHub collects and uses your data.
4848
ai:
4949
disclaimer: <a href="https://docs.github.com/en/copilot/responsible-use-of-github-copilot-features/responsible-use-of-github-copilot-chat-in-githubcom"}>Copilot</a> uses AI. Check for mistakes.
50-
references: Additional docs
50+
references: Copilot Sources
5151
loading_status_message: Loading Copilot response...
5252
done_loading_status_message: Done loading Copilot response
5353
copy_answer: Copy answer

package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,15 @@
2727
"content-changes-table-comment": "tsx src/workflows/content-changes-table-comment.ts",
2828
"copy-fixture-data": "tsx src/tests/scripts/copy-fixture-data.js",
2929
"count-translation-corruptions": "tsx src/languages/scripts/count-translation-corruptions.ts",
30-
"create-enterprise-issue": "tsx src/ghes-releases/scripts/create-enterprise-issue.js",
30+
"create-enterprise-issue": "tsx src/ghes-releases/scripts/create-enterprise-issue.ts",
3131
"debug": "cross-env NODE_ENV=development ENABLED_LANGUAGES=en nodemon --inspect src/frame/server.ts",
3232
"delete-orphan-translation-files": "tsx src/workflows/delete-orphan-translation-files.ts",
3333
"deleted-assets-pr-comment": "tsx src/assets/scripts/deleted-assets-pr-comment.ts",
3434
"deleted-features-pr-comment": "tsx src/data-directory/scripts/deleted-features-pr-comment.ts",
3535
"deprecate-ghes": "tsx src/ghes-releases/scripts/deprecate/index.ts",
3636
"deprecate-ghes-archive": "cross-env NODE_OPTIONS=--max-old-space-size=16384 tsx src/ghes-releases/scripts/deprecate/archive-version.ts",
3737
"dev": "cross-env npm start",
38+
"dev-toc": "tsx src/dev-toc/generate.ts",
3839
"enable-automerge": "tsx src/workflows/enable-automerge.ts",
3940
"find-orphaned-assets": "tsx src/assets/scripts/find-orphaned-assets.ts",
4041
"find-orphaned-features": "tsx src/data-directory/scripts/find-orphaned-features/index.ts",
@@ -75,7 +76,7 @@
7576
"purge-fastly-edge-cache-per-language": "tsx src/languages/scripts/purge-fastly-edge-cache-per-language.js",
7677
"purge-old-workflow-runs": "tsx src/workflows/purge-old-workflow-runs.js",
7778
"ready-for-docs-review": "tsx src/workflows/ready-for-docs-review.ts",
78-
"release-banner": "tsx src/ghes-releases/scripts/release-banner.js",
79+
"release-banner": "tsx src/ghes-releases/scripts/release-banner.ts",
7980
"reusables": "tsx src/content-render/scripts/reusables-cli.ts",
8081
"rendered-content-link-checker": "tsx src/links/scripts/rendered-content-link-checker.ts",
8182
"rendered-content-link-checker-cli": "tsx src/links/scripts/rendered-content-link-checker-cli.ts",
@@ -97,7 +98,7 @@
9798
"tsc": "tsc --noEmit",
9899
"unallowed-contributions": "tsx src/workflows/unallowed-contributions.ts",
99100
"update-data-and-image-paths": "tsx src/early-access/scripts/update-data-and-image-paths.js",
100-
"update-enterprise-dates": "tsx src/ghes-releases/scripts/update-enterprise-dates.js",
101+
"update-enterprise-dates": "tsx src/ghes-releases/scripts/update-enterprise-dates.ts",
101102
"update-internal-links": "tsx src/links/scripts/update-internal-links.ts",
102103
"validate-asset-images": "tsx src/assets/scripts/validate-asset-images.ts",
103104
"validate-github-github-docs-urls": "tsx src/links/scripts/validate-github-github-docs-urls/index.ts",

src/audit-logs/tests/rendering.js renamed to src/audit-logs/tests/rendering.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ describe('audit log events docs', () => {
2020
path: '/authentication/keeping-your-account-and-data-secure/security-log-events',
2121
type: 'user',
2222
},
23-
]
23+
] as const
2424

2525
// This test ensures that the audit log event page components and Markdown
2626
// file are in sync. Additionally, it checks all event categories are
@@ -32,7 +32,7 @@ describe('audit log events docs', () => {
3232
// the enterprise events page has no FPT versioned audit log data
3333
if (page.type === 'enterprise' && version === 'free-pro-team@latest') continue
3434

35-
const auditLogEvents = getCategorizedAuditLogEvents(page.type, version, true)
35+
const auditLogEvents = getCategorizedAuditLogEvents(page.type, version)
3636

3737
if (Object.keys(auditLogEvents).length === 0) {
3838
console.warn(`There are no audit log events for ${page.path} with version '${version}'.`)

src/audit-logs/tests/unit/filter-events.js renamed to src/audit-logs/tests/unit/filter-events.ts

Lines changed: 34 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,90 @@
11
import { describe, expect, test } from 'vitest'
22

33
import { filterByAllowlistValues, filterAndUpdateGhesDataByAllowlistValues } from '../../lib'
4+
import type { RawAuditLogEventT, VersionedAuditLogData } from '../../types'
45

56
describe('audit log event fitering', () => {
67
test('matches single allowlist value', () => {
7-
const eventsToProcess = [
8+
const eventsToProcess: RawAuditLogEventT[] = [
89
{
910
action: 'repo.create',
1011
_allowlists: ['user'],
1112
description: 'repo was created',
13+
docs_reference_links: '',
14+
ghes: {},
1215
},
1316
]
1417

15-
const filteredEvents = filterByAllowlistValues(eventsToProcess, 'user')
18+
const filteredEvents = filterByAllowlistValues(eventsToProcess, 'user', [], {
19+
sha: '',
20+
appendedDescriptions: {},
21+
})
1622
expect(filteredEvents[0].action).toEqual('repo.create')
1723
})
1824

1925
test('matches multiple allowlist values', () => {
20-
const eventsToProcess = [
26+
const eventsToProcess: RawAuditLogEventT[] = [
2127
{
2228
action: 'repo.create',
2329
_allowlists: ['user'],
2430
description: 'repo was created',
31+
docs_reference_links: '',
32+
ghes: {},
2533
},
2634
{
2735
action: 'repo.delete',
2836
_allowlists: ['organization'],
2937
description: 'repo was deleted',
38+
docs_reference_links: '',
39+
ghes: {},
3040
},
3141
]
3242

33-
const filteredEvents = filterByAllowlistValues(eventsToProcess, ['user', 'organization'])
43+
const filteredEvents = filterByAllowlistValues(eventsToProcess, ['user', 'organization'], [], {
44+
sha: '',
45+
appendedDescriptions: {},
46+
})
3447
expect(filteredEvents[0].action).toEqual('repo.create')
3548
expect(filteredEvents.length).toEqual(2)
3649
})
3750

3851
test('does not match non-matching allowlist value', () => {
39-
const eventsToProcess = [
52+
const eventsToProcess: RawAuditLogEventT[] = [
4053
{
4154
action: 'repo.create',
4255
_allowlists: ['user'],
4356
description: 'repo was created',
57+
docs_reference_links: '',
58+
ghes: {},
4459
},
4560
]
4661

47-
const filteredEvents = filterByAllowlistValues(eventsToProcess, 'organization')
62+
const filteredEvents = filterByAllowlistValues(eventsToProcess, 'organization', [], {
63+
sha: '',
64+
appendedDescriptions: {},
65+
})
4866
expect(filteredEvents.length).toBe(0)
4967
})
5068

5169
test('ghes filters and updates multiple ghes versions', () => {
52-
const eventsToProcess = [
70+
const eventsToProcess: RawAuditLogEventT[] = [
5371
{
5472
action: 'repo.create',
5573
description: 'repo was created',
74+
docs_reference_links: '',
75+
_allowlists: [],
5676
ghes: {
5777
'3.10': {
5878
_allowlists: ['user'],
5979
},
60-
3.11: {
80+
'3.11': {
6181
_allowlists: ['user'],
6282
},
6383
},
6484
},
6585
]
6686

67-
const currentEvents = {
87+
const currentEvents: VersionedAuditLogData = {
6888
'ghes-3.11': {
6989
organization: [
7090
{
@@ -90,10 +110,13 @@ describe('audit log event fitering', () => {
90110
eventsToProcess,
91111
'user',
92112
currentEvents,
93-
{},
113+
{
114+
sha: '',
115+
appendedDescriptions: {},
116+
},
94117
auditLogPage,
95118
)
96-
const getActions = (version) =>
119+
const getActions = (version: string) =>
97120
currentEvents[version][auditLogPage].map((event) => event.action)
98121
expect(getActions('ghes-3.10').includes('repo.create')).toBe(true)
99122
expect(getActions('ghes-3.11').includes('repo.create')).toBe(true)

src/events/components/experiments/experiments.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export const EXPERIMENTS = {
2121
ai_search_experiment: {
2222
key: 'ai_search_experiment',
2323
isActive: true, // Set to false when the experiment is over
24-
percentOfUsersToGetExperiment: 20, // 20% of users will get the experiment
24+
percentOfUsersToGetExperiment: 30, // 30% of users will get the experiment
2525
includeVariationInContext: true, // All events will include the `experiment_variation` of the `ai_search_experiment`
2626
limitToLanguages: ['en'], // Only users with the `en` language will be included in the experiment
2727
alwaysShowForStaff: true, // When set to true, staff will always see the experiment (determined by the `staffonly` cookie)

src/fixtures/fixtures/data/ui.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ search:
4747
privacy_disclaimer: For product and service improvement purposes, the GitHub Docs team will retain questions and answers generated in the Docs search function. Please see the <a href="https://docs.github.com/privacy"><u>GitHub Privacy Statement</u></a> to review how GitHub collects and uses your data.
4848
ai:
4949
disclaimer: <a href="https://docs.github.com/en/copilot/responsible-use-of-github-copilot-features/responsible-use-of-github-copilot-chat-in-githubcom"}>Copilot</a> uses AI. Check for mistakes.
50-
references: Additional docs
50+
references: Copilot Sources
5151
loading_status_message: Loading Copilot response...
5252
done_loading_status_message: Done loading Copilot response
5353
copy_answer: Copy answer

0 commit comments

Comments
 (0)