Skip to content

Commit 3e79665

Browse files
Merge branch 'main' into alerting/experimental-setup
2 parents 7d2c2ef + e528a95 commit 3e79665

232 files changed

Lines changed: 3061 additions & 2539 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/CODEOWNERS

Lines changed: 30 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* @elastic/docs
33

44
# Templates, workflows, and config
5-
/.github/ @elastic/doc-leads @elastic/docs-tech-leads
5+
/.github/ @elastic/doc-leads
66
/.github/workflows/ @elastic/docs-engineering
77
/.github/scripts/ @elastic/docs-engineering
88
/acrolinx/ @elastic/doc-leads
@@ -11,72 +11,69 @@
1111
/cloud-account/ @elastic/admin-docs
1212
/deploy-manage/ @elastic/admin-docs
1313

14-
/explore-analyze/ @elastic/experience-docs @elastic/developer-docs
14+
/explore-analyze/ @elastic/ski-docs @elastic/developer-docs
1515
/explore-analyze/ai-features/agent-builder/ @elastic/developer-docs
16-
/explore-analyze/elastic-inference/ @elastic/developer-docs @elastic/experience-docs
17-
/explore-analyze/machine-learning/ @elastic/developer-docs @elastic/experience-docs
18-
/explore-analyze/query-filter/ @elastic/developer-docs @elastic/experience-docs
16+
/explore-analyze/elastic-inference/ @elastic/developer-docs @elastic/ski-docs
17+
/explore-analyze/machine-learning/ @elastic/developer-docs @elastic/ski-docs
18+
/explore-analyze/query-filter/ @elastic/developer-docs @elastic/ski-docs
1919
/explore-analyze/scripting/ @elastic/admin-docs
2020
/explore-analyze/cross-cluster-search/ @elastic/developer-docs
2121
/explore-analyze/cross-project-search/ @elastic/developer-docs
2222
/explore-analyze/transforms/ @elastic/developer-docs
2323

2424
/extend/ @elastic/core-docs
25-
/get-started/ @elastic/core-docs @elastic/project-docs
25+
/get-started/ @elastic/core-docs
2626

2727
/manage-data/ @elastic/admin-docs
2828
/manage-data/data-store/ @elastic/admin-docs @elastic/developer-docs
29-
/manage-data/ingest/ @elastic/ingest-docs
29+
/manage-data/ingest/ @elastic/ski-docs
3030

3131
/reference/ @elastic/docs
32-
/reference/apm-agents/ @elastic/ingest-docs
32+
/reference/apm-agents/ @elastic/ski-docs
3333
/reference/data-analysis/ @elastic/docs
34-
/reference/data-analysis/observability/ @elastic/experience-docs
35-
/reference/data-analysis/kibana/ @elastic/experience-docs
34+
/reference/data-analysis/observability/ @elastic/ski-docs
35+
/reference/data-analysis/kibana/ @elastic/ski-docs
3636
/reference/data-analysis/machine-learning/ @elastic/developer-docs
37-
/reference/data-analysis/observability/ @elastic/experience-docs
37+
/reference/data-analysis/observability/ @elastic/ski-docs
3838
/reference/elasticsearch/clients/ @elastic/developer-docs
39-
/reference/fleet/ @elastic/ingest-docs
39+
/reference/fleet/ @elastic/ski-docs
4040
/reference/glossary/ @elastic/docs
41-
/reference/ingestion-tools/ @elastic/ingest-docs
42-
/reference/observability/ @elastic/experience-docs
41+
/reference/ingestion-tools/ @elastic/ski-docs
42+
/reference/observability/ @elastic/ski-docs
4343
/reference/search/ @elastic/developer-docs
44-
/reference/security/ @elastic/experience-docs
44+
/reference/security/ @elastic/ski-docs
4545

4646
/release-notes/ @elastic/docs
4747

48-
/release-notes/apm-agents/ @elastic/ingest-docs
48+
/release-notes/apm-agents/ @elastic/ski-docs
4949
/release-notes/elastic-cloud-serverless/ @elastic/admin-docs @elastic/docs-serverless-release-team
5050
/release-notes/elastic-observability/ @elastic/ski-docs
5151
/release-notes/elastic-security/ @elastic/ski-docs
5252
/release-notes/elasticsearch-clients/ @elastic/developer-docs
53-
/release-notes/fleet-elastic-agent/ @elastic/ingest-docs
53+
/release-notes/fleet-elastic-agent/ @elastic/ski-docs
5454
/release-notes/intro/ @elastic/docs
5555

56-
/solutions/ @elastic/experience-docs @elastic/developer-docs
57-
/solutions/observability/ @elastic/experience-docs
58-
/solutions/observability/apm/apm-agents/ @elastic/ingest-docs
59-
/solutions/observability/apm/apm-server/ @elastic/ingest-docs
60-
/solutions/observability/apm/ingest/ @elastic/ingest-docs
61-
/solutions/observability/apm/opentelemetry/ @elastic/ingest-docs
62-
/solutions/observability/get-started/ @elastic/ski-docs @elastic/project-docs
56+
/solutions/ @elastic/ski-docs @elastic/developer-docs
57+
/solutions/observability/ @elastic/ski-docs
58+
/solutions/observability/apm/apm-agents/ @elastic/ski-docs
59+
/solutions/observability/apm/apm-server/ @elastic/ski-docs
60+
/solutions/observability/apm/ingest/ @elastic/ski-docs
61+
/solutions/observability/apm/opentelemetry/ @elastic/ski-docs
62+
/solutions/observability/get-started/ @elastic/ski-docs
6363
/solutions/search/ @elastic/developer-docs
64-
/solutions/search/get-started/ @elastic/developer-docs @elastic/project-docs
65-
/solutions/security/ @elastic/experience-docs
66-
/solutions/security/get-started @elastic/experience-docs @elastic/project-docs
64+
/solutions/search/get-started/ @elastic/developer-docs
65+
/solutions/security/ @elastic/ski-docs
66+
/solutions/security/get-started @elastic/ski-docs
6767

6868
/troubleshoot/ @elastic/docs
6969
/troubleshoot/deployments/ @elastic/admin-docs
7070
/troubleshoot/elasticsearch/ @elastic/admin-docs
71-
/troubleshoot/ingest/ @elastic/ingest-docs
72-
/troubleshoot/kibana/ @elastic/admin-docs @elastic/experience-docs
73-
/troubleshoot/monitoring/ @elastic/admin-docs @elastic/experience-docs
71+
/troubleshoot/ingest/ @elastic/ski-docs
72+
/troubleshoot/kibana/ @elastic/admin-docs @elastic/ski-docs
73+
/troubleshoot/monitoring/ @elastic/admin-docs @elastic/ski-docs
7474
/troubleshoot/observability/ @elastic/ski-docs
7575
/troubleshoot/security/ @elastic/ski-docs
7676

77-
# Raw migrated files
78-
/raw-migrated-files/ @elastic/admin-docs
79-
8077
# Legacy serverless docs
8178
/serverless/ @elastic/admin-docs
8279
/serverless/serverless-changelog.asciidoc @elastic/docs

.github/scripts/docs_ai_menu.cjs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,17 @@ const WORKFLOW_CONFIG = {
66
label: 'Triage ([`docs-triage`](https://github.com/elastic/docs-actions/blob/main/.github/workflows/gh-aw-issue-triage.md)).',
77
marker: '<!-- docs-ai-menu:triage -->',
88
},
9+
size: {
10+
label: 'Size the work ([`docs-size`](https://github.com/elastic/docs-actions/blob/main/.github/workflows/gh-aw-issue-size.md)).',
11+
marker: '<!-- docs-ai-menu:size -->',
12+
},
913
issueScope: {
1014
label: 'Scope the docs work ([`docs-issue-scope`](https://github.com/elastic/docs-actions/blob/main/.github/workflows/gh-aw-docs-issue-scope.md)).',
1115
marker: '<!-- docs-ai-menu:issue-scope -->',
1216
},
1317
};
1418

15-
const WORKFLOW_ORDER = ['triage', 'issueScope'];
19+
const WORKFLOW_ORDER = ['triage', 'size', 'issueScope'];
1620

1721
function escapeRegExp(value) {
1822
return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');

.github/workflows/add-to-board.yml

Lines changed: 35 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -12,30 +12,47 @@ jobs:
1212
route:
1313
runs-on: ubuntu-latest
1414
if: |
15-
github.event.label.name == 'team:Ingest' ||
16-
github.event.label.name == 'team:Experience' ||
17-
github.event.label.name == 'team:Admin' ||
18-
github.event.label.name == 'team:Developer' ||
19-
github.event.label.name == 'team:DocsEng' ||
20-
github.event.label.name == 'team:Platform' ||
21-
github.event.label.name == 'team:Projects' ||
22-
github.event.label.name == 'team:Search' ||
23-
github.event.label.name == 'team:Security'
15+
github.event.label.name == 'Team:Ingest' ||
16+
github.event.label.name == 'Team:Experience' ||
17+
github.event.label.name == 'Team:SKI' ||
18+
github.event.label.name == 'Team:Admin' ||
19+
github.event.label.name == 'Team:Developer' ||
20+
github.event.label.name == 'Team:DocsEng' ||
21+
github.event.label.name == 'Team:Platform' ||
22+
github.event.label.name == 'Team:Projects' ||
23+
github.event.label.name == 'Team:Search' ||
24+
github.event.label.name == 'Team:Security'
2425
env:
26+
# Retired Team:Ingest / Team:Experience map to the SKI board (1034).
2527
PROJECT_ID_MAP: |
2628
{
27-
"team:Ingest": "649",
28-
"team:Experience": "1034",
29-
"team:Admin": "1927",
30-
"team:Developer": "726",
31-
"team:DocsEng": "1625",
32-
"team:Platform": "1232",
33-
"team:Projects": "1415",
34-
"team:Search": "726",
35-
"team:Security": "1034"
29+
"Team:Ingest": "1034",
30+
"Team:Experience": "1034",
31+
"Team:SKI": "1034",
32+
"Team:Admin": "1927",
33+
"Team:Developer": "726",
34+
"Team:DocsEng": "1625",
35+
"Team:Platform": "1232",
36+
"Team:Projects": "1415",
37+
"Team:Search": "726",
38+
"Team:Security": "1034"
3639
}
3740
steps:
41+
- name: Add the Team:SKI label
42+
if: github.event.label.name == 'Team:Ingest' || github.event.label.name == 'Team:Experience'
43+
uses: actions-ecosystem/action-add-labels@v1
44+
with:
45+
labels: Team:SKI
46+
47+
- name: Remove the retired team label
48+
if: github.event.label.name == 'Team:Ingest' || github.event.label.name == 'Team:Experience'
49+
uses: actions-ecosystem/action-remove-labels@v1
50+
with:
51+
labels: ${{ github.event.label.name }}
52+
53+
# Tolerate issues that don't carry needs-team (already triaged, etc.).
3854
- name: Remove needs-team label
55+
continue-on-error: true
3956
uses: actions-ecosystem/action-remove-labels@v1
4057
with:
4158
labels: needs-team
@@ -45,5 +62,3 @@ jobs:
4562
with:
4663
project-url: https://github.com/orgs/elastic/projects/${{ fromJson(env.PROJECT_ID_MAP)[github.event.label.name] }}
4764
github-token: ${{ secrets.ADD_TO_BOARD_TOKEN }}
48-
labeled: ${{ github.event.label.name }}
49-
label-operator: OR

.github/workflows/docs-ai-menu.yml

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ jobs:
6767
contents: read
6868
outputs:
6969
triage_triggered: ${{ steps.evaluate.outputs.triage_triggered }}
70+
size_triggered: ${{ steps.evaluate.outputs.size_triggered }}
7071
issue_scope_triggered: ${{ steps.evaluate.outputs.issue_scope_triggered }}
7172

7273
steps:
@@ -88,16 +89,19 @@ jobs:
8889
const previousState = menu.parseMenuState(previousBody);
8990
const currentState = menu.parseMenuState(body);
9091
const triageTriggered = !previousState.triage.selected && currentState.triage.selected;
92+
const sizeTriggered = !previousState.size.selected && currentState.size.selected;
9193
const issueScopeTriggered = !previousState.issueScope.selected && currentState.issueScope.selected;
9294
9395
core.setOutput('triage_triggered', String(triageTriggered));
96+
core.setOutput('size_triggered', String(sizeTriggered));
9497
core.setOutput('issue_scope_triggered', String(issueScopeTriggered));
9598
9699
refresh-menu-after-trigger:
97100
name: Refresh AI menu after trigger
98101
needs: [evaluate-trigger]
99102
if: >-
100103
needs.evaluate-trigger.outputs.triage_triggered == 'true' ||
104+
needs.evaluate-trigger.outputs.size_triggered == 'true' ||
101105
needs.evaluate-trigger.outputs.issue_scope_triggered == 'true'
102106
runs-on: ubuntu-latest
103107
permissions:
@@ -130,6 +134,13 @@ jobs:
130134
};
131135
}
132136
137+
if ('${{ needs.evaluate-trigger.outputs.size_triggered }}' === 'true') {
138+
statusOverrides.size = {
139+
detailsUrl: progressUrl,
140+
status: 'in_progress',
141+
};
142+
}
143+
133144
if ('${{ needs.evaluate-trigger.outputs.issue_scope_triggered }}' === 'true') {
134145
statusOverrides.issueScope = {
135146
detailsUrl: progressUrl,
@@ -177,6 +188,19 @@ jobs:
177188
**Internal projects**: If the issue seems related to an internal documentation project, initiative, or content strategy effort, apply `Team:Projects`.
178189
**Fallback**: If you genuinely cannot determine the owning team, apply `cross-team` so the issue stays visible to all teams.
179190
191+
run-docs-size:
192+
name: Docs AI / size
193+
needs: [evaluate-trigger]
194+
if: needs.evaluate-trigger.outputs.size_triggered == 'true'
195+
permissions:
196+
actions: read
197+
contents: read
198+
copilot-requests: write
199+
discussions: write
200+
issues: write
201+
pull-requests: write
202+
uses: elastic/docs-actions/.github/workflows/gh-aw-issue-size.lock.yml@v1
203+
180204
run-docs-issue-scope:
181205
name: Docs AI / issue scope
182206
needs: [evaluate-trigger]
@@ -237,6 +261,53 @@ jobs:
237261
},
238262
});
239263
264+
refresh-menu-after-docs-size:
265+
name: Refresh AI menu after docs size
266+
needs: [evaluate-trigger, refresh-menu-after-trigger, run-docs-size]
267+
if: always() && needs.evaluate-trigger.outputs.size_triggered == 'true'
268+
runs-on: ubuntu-latest
269+
permissions:
270+
contents: read
271+
issues: write
272+
concurrency:
273+
group: docs-ai-menu-${{ github.event.issue.number }}
274+
cancel-in-progress: false
275+
276+
steps:
277+
- name: Checkout repository
278+
uses: actions/checkout@v6.0.2
279+
with:
280+
persist-credentials: false
281+
282+
- name: Refresh AI menu status
283+
uses: actions/github-script@v9.0.0
284+
with:
285+
github-token: ${{ secrets.GITHUB_TOKEN }}
286+
script: |
287+
const menu = require(`${process.env.GITHUB_WORKSPACE}/.github/scripts/docs_ai_menu.cjs`);
288+
const issueNumber = context.payload.issue.number;
289+
const progressUrl = `${context.serverUrl}/${context.repo.owner}/${context.repo.repo}/actions/runs/${context.runId}`;
290+
const sizeResult = '${{ needs.run-docs-size.result }}';
291+
292+
await menu.upsertMenuComment({
293+
core,
294+
createIfMissing: false,
295+
github,
296+
context,
297+
issueNumber,
298+
statusOverrides: {
299+
size: {
300+
conclusion: sizeResult === 'success'
301+
? 'success'
302+
: sizeResult === 'cancelled'
303+
? 'cancelled'
304+
: 'failure',
305+
detailsUrl: progressUrl,
306+
status: 'completed',
307+
},
308+
},
309+
});
310+
240311
refresh-menu-after-docs-issue-scope:
241312
name: Refresh AI menu after docs issue scope
242313
needs: [evaluate-trigger, refresh-menu-after-trigger, run-docs-issue-scope]

.github/workflows/docs-size.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Docs Size
2+
on:
3+
issue_comment:
4+
types: [created]
5+
workflow_dispatch:
6+
7+
permissions:
8+
actions: read
9+
copilot-requests: write
10+
contents: read
11+
discussions: write
12+
issues: write
13+
pull-requests: write
14+
15+
jobs:
16+
run:
17+
if: >-
18+
github.event_name == 'workflow_dispatch' ||
19+
startsWith(github.event.comment.body, '/size')
20+
uses: elastic/docs-actions/.github/workflows/gh-aw-issue-size.lock.yml@v1

.github/workflows/docs-triage.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
run:
1717
if: >-
1818
github.event_name == 'workflow_dispatch' ||
19-
startsWith(github.event.comment.body, '/docs-triage')
19+
startsWith(github.event.comment.body, '/triage')
2020
uses: elastic/docs-actions/.github/workflows/gh-aw-issue-triage.lock.yml@v1
2121
with:
2222
additional-instructions: |

0 commit comments

Comments
 (0)