Skip to content

Commit 65b2fbf

Browse files
authored
Merge pull request #41805 from github/repo-sync
Repo sync
2 parents 88bd6d6 + babee40 commit 65b2fbf

File tree

26 files changed

+570
-13
lines changed

26 files changed

+570
-13
lines changed

config/kubernetes/production/deployments/webapp.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ apiVersion: apps/v1
22
kind: Deployment
33
metadata:
44
name: webapp
5+
annotations:
6+
moda.github.net/allow-missing-ready-pods: '1'
57
spec:
68
replicas: 6
79
selector:

content/copilot/reference/ai-models/model-comparison.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ Use this table to find a suitable model quickly, see more detail in the sections
3232
| Model | Task area | Excels at (primary use case) | Additional capabilities | Further reading |
3333
|-------------------------------------------------------|--------------------------------------------------|-------------------------------------------------------------------------|-------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|
3434
| {% data variables.copilot.copilot_gpt_41 %} | General-purpose coding and writing | Fast, accurate code completions and explanations | Agent mode, vision | [{% data variables.copilot.copilot_gpt_41 %} model card](https://openai.com/index/gpt-4-1/) |
35+
| {% data variables.copilot.copilot_gpt_52 %} | Deep reasoning and debugging | Multi-step problem solving and architecture-level code analysis | Agent mode | Not available |
3536
| {% data variables.copilot.copilot_gpt_51 %} | Deep reasoning and debugging | Multi-step problem solving and architecture-level code analysis | Agent mode | Not available |
3637
| {% data variables.copilot.copilot_gpt_5_codex %} | General-purpose coding and writing | Fast, accurate code completions and explanations | Agent mode | [{% data variables.copilot.copilot_gpt_5_codex %} model card](https://cdn.openai.com/pdf/97cc5669-7a25-4e63-b15f-5fd5bdc4d149/gpt-5-codex-system-card.pdf) |
3738
| {% data variables.copilot.copilot_gpt_5_mini %} | General-purpose coding and writing | Fast, accurate code completions and explanations | Agent mode, reasoning, vision | [{% data variables.copilot.copilot_gpt_5_mini %} model card](https://cdn.openai.com/gpt-5-system-card.pdf) |

content/copilot/reference/ai-models/model-hosting.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ Used for:
2828
* {% data variables.copilot.copilot_gpt_51_codex %}
2929
* {% data variables.copilot.copilot_gpt_51_codex_mini %}
3030
* {% data variables.copilot.copilot_gpt_51_codex_max %}
31+
* {% data variables.copilot.copilot_gpt_52 %}
3132

3233
These models are hosted by OpenAI and {% data variables.product.github %}'s Azure infrastructure.
3334

data/tables/copilot/model-multipliers.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,10 @@
7373
multiplier_paid: 1.0
7474
multiplier_free: Not applicable
7575

76+
- name: GPT-5.2
77+
multiplier_paid: 1.0
78+
multiplier_free: Not applicable
79+
7680
- name: Grok Code Fast 1
7781
multiplier_paid: 0.25
7882
multiplier_free: Not applicable

data/tables/copilot/model-release-status.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,13 @@
7474
ask_mode: true
7575
edit_mode: true
7676

77+
- name: 'GPT-5.2'
78+
provider: 'OpenAI'
79+
release_status: 'Public preview'
80+
agent_mode: true
81+
ask_mode: true
82+
edit_mode: true
83+
7784
# Anthropic models
7885
- name: 'Claude Haiku 4.5'
7986
provider: 'Anthropic'

data/tables/copilot/model-supported-clients.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,14 @@
133133
xcode: false
134134
jetbrains: false
135135

136+
- name: GPT-5.2
137+
dotcom: true
138+
vscode: true
139+
vs: false
140+
eclipse: false
141+
xcode: false
142+
jetbrains: false
143+
136144
- name: Grok Code Fast 1
137145
dotcom: true
138146
vscode: true

data/tables/copilot/model-supported-plans.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,13 @@
117117
business: true
118118
enterprise: true
119119

120+
- name: GPT-5.2
121+
free: false
122+
pro: true
123+
pro_plus: true
124+
business: true
125+
enterprise: true
126+
120127
- name: Grok Code Fast 1
121128
free: false
122129
pro: true

data/variables/copilot.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ copilot_gpt_51: 'GPT-5.1'
159159
copilot_gpt_51_codex: 'GPT-5.1-Codex'
160160
copilot_gpt_51_codex_mini: 'GPT-5.1-Codex-Mini'
161161
copilot_gpt_51_codex_max: 'GPT-5.1-Codex-Max'
162+
copilot_gpt_52: 'GPT-5.2'
162163
# OpenAI 'o' series:
163164
copilot_o3: 'o3'
164165
copilot_o4_mini: 'o4-mini'
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# {{ page.title }}
2+
3+
{{ page.intro }}
4+
5+
{{ manualContent }}
6+
7+
## Audit log events
8+
9+
{% for categoryEntry in categorizedEvents %}
10+
{% assign categoryName = categoryEntry[0] %}
11+
{% assign events = categoryEntry[1] %}
12+
### {{ categoryName }}
13+
14+
{% if categoryNotes[categoryName] %}
15+
{{ categoryNotes[categoryName] }}
16+
17+
{% endif %}
18+
{% for event in events %}
19+
#### `{{ event.action }}`
20+
21+
{{ event.description }}
22+
23+
**Fields:** {% if event.fields %}{% for field in event.fields %}`{{ field }}`{% unless forloop.last %}, {% endunless %}{% endfor %}{% else %}No fields available{% endif %}
24+
25+
{% if event.docs_reference_links and event.docs_reference_links != 'N/A' %}
26+
**Reference:** {{ event.docs_reference_links }}
27+
{% endif %}
28+
29+
{% endfor %}
30+
{% endfor %}
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
import { beforeAll, describe, expect, test } from 'vitest'
2+
3+
import { get } from '@/tests/helpers/e2etest'
4+
5+
const makeURL = (pathname: string): string => {
6+
const params = new URLSearchParams({ pathname })
7+
return `/api/article/body?${params}`
8+
}
9+
10+
describe('Audit Logs transformer', () => {
11+
beforeAll(() => {
12+
if (!process.env.ROOT) {
13+
console.warn(
14+
'WARNING: The Audit Logs transformer tests require the ROOT environment variable to be set to the fixture root',
15+
)
16+
}
17+
})
18+
19+
test('Security log events page renders with markdown structure', async () => {
20+
const res = await get(
21+
makeURL('/en/authentication/keeping-your-account-and-data-secure/security-log-events'),
22+
)
23+
expect(res.statusCode).toBe(200)
24+
expect(res.headers['content-type']).toContain('text/markdown')
25+
26+
// Check for the main heading
27+
expect(res.body).toContain('# Security log events')
28+
29+
// Check for intro
30+
expect(res.body).toContain(
31+
'Learn about security log events recorded for your personal account.',
32+
)
33+
34+
// Check for manual content section heading
35+
expect(res.body).toContain('## About security log events')
36+
37+
// Check for new main heading
38+
expect(res.body).toContain('## Audit log events')
39+
40+
// Check for category heading
41+
// The template renders "### Category"
42+
expect(res.body).toMatch(/### \w+/)
43+
})
44+
45+
test('Enterprise audit log events page renders with markdown structure', async () => {
46+
const res = await get(
47+
makeURL(
48+
'/en/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise',
49+
),
50+
)
51+
expect(res.statusCode).toBe(200)
52+
expect(res.headers['content-type']).toContain('text/markdown')
53+
54+
expect(res.body).toContain('# Audit log events for your enterprise')
55+
})
56+
57+
test('Organization audit log events page renders with markdown structure', async () => {
58+
const res = await get(
59+
makeURL(
60+
'/en/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/audit-log-events-for-your-organization',
61+
),
62+
)
63+
expect(res.statusCode).toBe(200)
64+
expect(res.headers['content-type']).toContain('text/markdown')
65+
66+
expect(res.body).toContain('# Audit log events for your organization')
67+
})
68+
69+
test('Events are formatted correctly', async () => {
70+
const res = await get(
71+
makeURL('/en/authentication/keeping-your-account-and-data-secure/security-log-events'),
72+
)
73+
expect(res.statusCode).toBe(200)
74+
75+
// Check for event action header
76+
// #### `action.name`
77+
expect(res.body).toMatch(/#### `[\w.]+`/)
78+
79+
// Check for fields section
80+
expect(res.body).toContain('**Fields:**')
81+
82+
// Check for reference section
83+
expect(res.body).toContain('**Reference:**')
84+
})
85+
86+
test('Manual content is preserved', async () => {
87+
const res = await get(
88+
makeURL('/en/authentication/keeping-your-account-and-data-secure/security-log-events'),
89+
)
90+
expect(res.statusCode).toBe(200)
91+
92+
// The source file has manual content before the marker
93+
expect(res.body).toContain('## About security log events')
94+
})
95+
})

0 commit comments

Comments
 (0)