Skip to content

Commit 08b4823

Browse files
Merge branch 'main' of github.com:elastic/docs-builder into sync/eui-icons-jan-2026
2 parents 0cbadf3 + 477a319 commit 08b4823

77 files changed

Lines changed: 1605 additions & 1758 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/workflows/ci.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,10 @@ jobs:
185185

186186
integration:
187187
runs-on: docs-builder-latest-16
188+
environment: integration-tests
189+
permissions:
190+
contents: read
191+
id-token: write
188192
steps:
189193
- uses: actions/checkout@v6
190194

@@ -195,5 +199,22 @@ jobs:
195199
- name: Install Aspire workload
196200
run: dotnet workload install aspire
197201

202+
- name: Configure AWS credentials
203+
uses: aws-actions/configure-aws-credentials@v4
204+
with:
205+
role-to-assume: arn:aws:iam::197730964718:role/elastic-docs-v3-integration-tests
206+
aws-region: us-east-1
207+
208+
- name: Fetch ES credentials
209+
run: |
210+
ES_URL=$(aws ssm get-parameter --name /elastic-docs-v3/prod/docs-elasticsearch-github-actions-readonly-url --with-decryption --query Parameter.Value --output text)
211+
ES_KEY=$(aws ssm get-parameter --name /elastic-docs-v3/prod/docs-elasticsearch-github-actions-readonly-api-key --with-decryption --query Parameter.Value --output text)
212+
echo "::add-mask::$ES_URL"
213+
echo "::add-mask::$ES_KEY"
214+
dotnet user-secrets set "DocumentationElasticUrl" "$ES_URL" --project aspire
215+
dotnet user-secrets set "DocumentationElasticApiKey" "$ES_KEY" --project aspire
216+
198217
- name: Integration Tests
218+
env:
219+
ENVIRONMENT: prod
199220
run: dotnet run --project build -c release -- integrate

Directory.Packages.props

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,9 @@
6969
<PackageVersion Include="FSharp.Core" Version="10.1.201" />
7070
</ItemGroup>
7171
<ItemGroup>
72-
<PackageVersion Include="Nullean.Argh" Version="0.16.3" />
73-
<PackageVersion Include="Nullean.Argh.Hosting" Version="0.16.3" />
74-
<PackageVersion Include="Nullean.Argh.Interfaces" Version="0.16.3" />
72+
<PackageVersion Include="Nullean.Argh" Version="0.16.4" />
73+
<PackageVersion Include="Nullean.Argh.Hosting" Version="0.16.4" />
74+
<PackageVersion Include="Nullean.Argh.Interfaces" Version="0.16.4" />
7575
<PackageVersion Include="Crayon" Version="2.0.69" />
7676
<PackageVersion Include="DotNet.Glob" Version="3.1.3" />
7777
<PackageVersion Include="Errata" Version="0.16.0" />

aspire/AppHost.cs

Lines changed: 40 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -54,50 +54,57 @@ internal static async Task Run(
5454
.WaitForCompletion(cloneAll)
5555
.WithParentRelationship(cloneAll);
5656

57-
var elasticsearchLocal = builder.AddElasticsearch(ElasticsearchLocal)
58-
.WithEnvironment("LICENSE", "trial");
59-
if (!startElasticsearch)
60-
elasticsearchLocal = elasticsearchLocal.WithExplicitStart();
57+
IResourceBuilder<ElasticsearchResource>? elasticsearchLocal = null;
58+
if (startElasticsearch)
59+
elasticsearchLocal = builder.AddElasticsearch(ElasticsearchLocal)
60+
.WithEnvironment("LICENSE", "trial");
6161

6262
var elasticsearchRemote = builder.AddExternalService(ElasticsearchRemote, elasticsearchUrl);
6363

64-
var api = builder.AddProject<Projects.Elastic_Documentation_Api>(Api)
64+
// Read ENVIRONMENT and DOCS_BUILD_TYPE from the host process (injected by CI or set locally).
65+
// Index name pattern: docs-{type}.semantic-{env}-latest
66+
var rawEnvironment = Environment.GetEnvironmentVariable("ENVIRONMENT");
67+
var serviceEnvironment = string.IsNullOrWhiteSpace(rawEnvironment) ? "prod" : rawEnvironment;
68+
var rawBuildType = Environment.GetEnvironmentVariable("DOCS_BUILD_TYPE");
69+
var buildType = string.IsNullOrWhiteSpace(rawBuildType) ? "assembler" : rawBuildType;
70+
71+
var api = builder.AddProject<Projects.Elastic_Documentation_Api>(Api, launchProfileName: "http")
6572
.WithArgs(GlobalArguments)
66-
.WithEnvironment("ENVIRONMENT", "dev")
73+
.WithEnvironment("ENVIRONMENT", serviceEnvironment)
74+
.WithEnvironment("DOCS_BUILD_TYPE", buildType)
6775
.WithEnvironment("LLM_GATEWAY_FUNCTION_URL", llmUrl)
68-
.WithEnvironment("LLM_GATEWAY_SERVICE_ACCOUNT_KEY_PATH", llmServiceAccountPath);
76+
.WithEnvironment("LLM_GATEWAY_SERVICE_ACCOUNT_KEY_PATH", llmServiceAccountPath)
77+
.WithHttpHealthCheck("/docs/_api/health");
6978

7079
// ReSharper disable once RedundantAssignment
7180
api = startElasticsearch
7281
? api
73-
.WithReference(elasticsearchLocal)
74-
.WithEnvironment("DOCUMENTATION_ELASTIC_URL", elasticsearchLocal.GetEndpoint("http"))
75-
.WithEnvironment(context => context.EnvironmentVariables["DOCUMENTATION_ELASTIC_PASSWORD"] = elasticsearchLocal.Resource.PasswordParameter)
76-
.WithParentRelationship(elasticsearchLocal)
77-
.WaitFor(elasticsearchLocal)
78-
.WithExplicitStart()
82+
.WithReference(elasticsearchLocal!)
83+
.WithEnvironment("DOCUMENTATION_ELASTIC_URL", elasticsearchLocal!.GetEndpoint("http"))
84+
.WithEnvironment(context => context.EnvironmentVariables["DOCUMENTATION_ELASTIC_PASSWORD"] = elasticsearchLocal!.Resource.PasswordParameter)
85+
.WithParentRelationship(elasticsearchLocal!)
86+
.WaitFor(elasticsearchLocal!)
7987
: api.WithReference(elasticsearchRemote)
8088
.WithEnvironment("DOCUMENTATION_ELASTIC_URL", elasticsearchUrl)
81-
.WithEnvironment("DOCUMENTATION_ELASTIC_APIKEY", elasticsearchApiKey)
82-
.WithExplicitStart();
89+
.WithEnvironment("DOCUMENTATION_ELASTIC_APIKEY", elasticsearchApiKey);
8390

8491
var mcp = builder.AddProject<Projects.Elastic_Documentation_Mcp_Remote>(RemoteMcp)
8592
.WithArgs(GlobalArguments)
86-
.WithEnvironment("ENVIRONMENT", "dev");
93+
.WithEnvironment("ENVIRONMENT", serviceEnvironment)
94+
.WithEnvironment("DOCS_BUILD_TYPE", buildType)
95+
.WithHttpHealthCheck("/docs/_mcp/health");
8796

8897
// ReSharper disable once RedundantAssignment
8998
mcp = startElasticsearch
9099
? mcp
91-
.WithReference(elasticsearchLocal)
92-
.WithEnvironment("DOCUMENTATION_ELASTIC_URL", elasticsearchLocal.GetEndpoint("http"))
93-
.WithEnvironment(context => context.EnvironmentVariables["DOCUMENTATION_ELASTIC_PASSWORD"] = elasticsearchLocal.Resource.PasswordParameter)
94-
.WithParentRelationship(elasticsearchLocal)
95-
.WaitFor(elasticsearchLocal)
96-
.WithExplicitStart()
100+
.WithReference(elasticsearchLocal!)
101+
.WithEnvironment("DOCUMENTATION_ELASTIC_URL", elasticsearchLocal!.GetEndpoint("http"))
102+
.WithEnvironment(context => context.EnvironmentVariables["DOCUMENTATION_ELASTIC_PASSWORD"] = elasticsearchLocal!.Resource.PasswordParameter)
103+
.WithParentRelationship(elasticsearchLocal!)
104+
.WaitFor(elasticsearchLocal!)
97105
: mcp.WithReference(elasticsearchRemote)
98106
.WithEnvironment("DOCUMENTATION_ELASTIC_URL", elasticsearchUrl)
99-
.WithEnvironment("DOCUMENTATION_ELASTIC_APIKEY", elasticsearchApiKey)
100-
.WithExplicitStart();
107+
.WithEnvironment("DOCUMENTATION_ELASTIC_APIKEY", elasticsearchApiKey);
101108

102109
var indexElasticsearch = builder.AddProject<Projects.docs_builder>(ElasticsearchIngest)
103110
.WithArgs(["assembler", "index", .. GlobalArguments])
@@ -107,11 +114,11 @@ internal static async Task Run(
107114
// ReSharper disable once RedundantAssignment
108115
indexElasticsearch = startElasticsearch
109116
? indexElasticsearch
110-
.WaitFor(elasticsearchLocal)
111-
.WithReference(elasticsearchLocal)
112-
.WithEnvironment("DOCUMENTATION_ELASTIC_URL", elasticsearchLocal.GetEndpoint("http"))
113-
.WithEnvironment(context => context.EnvironmentVariables["DOCUMENTATION_ELASTIC_PASSWORD"] = elasticsearchLocal.Resource.PasswordParameter)
114-
.WithParentRelationship(elasticsearchLocal)
117+
.WaitFor(elasticsearchLocal!)
118+
.WithReference(elasticsearchLocal!)
119+
.WithEnvironment("DOCUMENTATION_ELASTIC_URL", elasticsearchLocal!.GetEndpoint("http"))
120+
.WithEnvironment(context => context.EnvironmentVariables["DOCUMENTATION_ELASTIC_PASSWORD"] = elasticsearchLocal!.Resource.PasswordParameter)
121+
.WithParentRelationship(elasticsearchLocal!)
115122
: indexElasticsearch
116123
.WithReference(elasticsearchRemote)
117124
.WithEnvironment("DOCUMENTATION_ELASTIC_URL", elasticsearchUrl)
@@ -129,16 +136,16 @@ internal static async Task Run(
129136

130137
serveStatic = startElasticsearch
131138
? serveStatic
132-
.WithReference(elasticsearchLocal)
133-
.WithEnvironment("DOCUMENTATION_ELASTIC_URL", elasticsearchLocal.GetEndpoint("http"))
134-
.WithEnvironment(context => context.EnvironmentVariables["DOCUMENTATION_ELASTIC_PASSWORD"] = elasticsearchLocal.Resource.PasswordParameter)
139+
.WithReference(elasticsearchLocal!)
140+
.WithEnvironment("DOCUMENTATION_ELASTIC_URL", elasticsearchLocal!.GetEndpoint("http"))
141+
.WithEnvironment(context => context.EnvironmentVariables["DOCUMENTATION_ELASTIC_PASSWORD"] = elasticsearchLocal!.Resource.PasswordParameter)
135142
: serveStatic
136143
.WithReference(elasticsearchRemote)
137144
.WithEnvironment("DOCUMENTATION_ELASTIC_URL", elasticsearchUrl)
138145
.WithEnvironment("DOCUMENTATION_ELASTIC_APIKEY", elasticsearchApiKey);
139146

140147
// ReSharper disable once RedundantAssignment
141-
serveStatic = startElasticsearch ? serveStatic.WaitFor(elasticsearchLocal) : serveStatic.WaitFor(buildAll);
148+
serveStatic = startElasticsearch ? serveStatic.WaitFor(elasticsearchLocal!) : serveStatic.WaitFor(buildAll);
142149

143150
await builder.Build().RunAsync(ct);
144151
}

build/Targets.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ let private publishContainers _ =
135135
exec { run "dotnet" (args @ registry) }
136136
createImage "src/tooling/docs-builder/docs-builder.csproj" "docs-builder"
137137
createImage "src/api/Elastic.Documentation.Mcp.Remote/Elastic.Documentation.Mcp.Remote.csproj" "docs-builder-mcp"
138-
createImage "src/api/Elastic.Documentation.Api.App/Elastic.Documentation.Api.App.csproj" "docs-builder-api"
138+
createImage "src/api/Elastic.Documentation.Api/Elastic.Documentation.Api.csproj" "docs-builder-api"
139139

140140
let private runTests (testSuite: TestSuite) _ =
141141
let testFilter =

config/versions.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ versioning_systems:
7676
current: 9.4.1
7777
edot-ios:
7878
base: 1.0
79-
current: 2.0.0
79+
current: 2.0.1
8080
edot-android:
8181
base: 1.0
8282
current: 1.6.0
@@ -97,13 +97,13 @@ versioning_systems:
9797
current: 1.6.0
9898
edot-python:
9999
base: 1.0
100-
current: 1.12.0
100+
current: 1.13.0
101101
edot-cf-aws:
102102
base: 1.0
103103
current: 1.6.0
104104
edot-cf-azure:
105105
base: 0.7.1
106-
current: 0.7.1
106+
current: 0.8.0
107107
edot-cf-gcp:
108108
base: 0.1
109109
current: 0.1.3
@@ -155,10 +155,10 @@ versioning_systems:
155155
current: 9.4.0
156156
elasticsearch-client-javascript:
157157
base: 9.0
158-
current: 9.4.0
158+
current: 9.4.1
159159
elasticsearch-client-dotnet:
160160
base: 9.0
161-
current: 9.4.0
161+
current: 9.4.1
162162
elasticsearch-client-php:
163163
base: 9.0
164164
current: 9.4.0

docs-builder.slnx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,7 @@
8484
</Folder>
8585
<Folder Name="/tests-integration/">
8686
<File Path="tests-integration/Directory.Build.props" />
87-
<Project Path="tests-integration/Elastic.Assembler.IntegrationTests/Elastic.Assembler.IntegrationTests.csproj" />
88-
<Project Path="tests-integration/Elastic.Documentation.Api.IntegrationTests/Elastic.Documentation.Api.IntegrationTests.csproj" />
87+
<Project Path="tests-integration/Elastic.Documentation.IntegrationTests/Elastic.Documentation.IntegrationTests.csproj" />
8988
<Project Path="tests-integration/Search.IntegrationTests/Search.IntegrationTests.csproj" />
9089
<Project Path="tests-integration/Mcp.Remote.IntegrationTests/Mcp.Remote.IntegrationTests.csproj" />
9190
<Project Path="tests-integration/Elastic.ContentDateEnrichment.IntegrationTests/Elastic.ContentDateEnrichment.IntegrationTests.csproj" />
@@ -95,6 +94,7 @@
9594
<Project Path="tests/authoring/authoring.fsproj" />
9695
<Project Path="tests/Elastic.ApiExplorer.Tests/Elastic.ApiExplorer.Tests.csproj" />
9796
<Project Path="tests/Elastic.Documentation.Api.Infrastructure.Tests/Elastic.Documentation.Api.Infrastructure.Tests.csproj" />
97+
<Project Path="tests/Elastic.Documentation.Api.Tests/Elastic.Documentation.Api.Tests.csproj" />
9898
<Project Path="tests/Elastic.Documentation.Build.Tests/Elastic.Documentation.Build.Tests.csproj" />
9999
<Project Path="tests/Elastic.Documentation.Configuration.Tests/Elastic.Documentation.Configuration.Tests.csproj" />
100100
<Project Path="tests/Elastic.Documentation.LegacyDocs.Tests/Elastic.Documentation.LegacyDocs.Tests.csproj" />

docs/_docset.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ toc:
147147
- file: math.md
148148
- file: diagrams.md
149149
- file: lists.md
150+
- file: task-lists.md
150151
- file: line_breaks.md
151152
- file: links.md
152153
- file: list-sub-pages.md

0 commit comments

Comments
 (0)