Skip to content

Commit a9075eb

Browse files
committed
Resolve merging conflicts from origin/main
2 parents 9322d4a + c73a00a commit a9075eb

File tree

100 files changed

+2388
-1727
lines changed

Some content is hidden

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

100 files changed

+2388
-1727
lines changed

.github/actions/aws-auth/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ runs:
3737
with open(os.environ["GITHUB_OUTPUT"], "a") as f:
3838
f.write(f"result=arn:aws:iam::{os.environ["AWS_ACCOUNT_ID"]}:role/{prefix}{hash}")
3939
- name: Configure AWS Credentials
40-
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
40+
uses: aws-actions/configure-aws-credentials@b47578312673ae6fa5b5096b330d9fbac3d116df # v4.2.1
4141
with:
4242
role-to-assume: ${{ steps.role_arn.outputs.result }}
4343
aws-region: ${{ inputs.aws_region }}

.github/dependabot.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@ updates:
1616
interval: 'weekly'
1717
day: 'monday'
1818
time: '08:00'
19+
groups:
20+
tailwindcss:
21+
patterns:
22+
- 'tailwindcss'
23+
- '@tailwindcss/postcss'
24+
- 'prettier-plugin-tailwindcss'
1925
labels:
2026
- chore
2127
- package-ecosystem: nuget

.github/workflows/pr.yml renamed to .github/workflows/ci.yml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
1-
name: PR
1+
name: ci
22

33
on:
4+
push:
5+
branches:
6+
- main
47
pull_request:
58

69
permissions:
@@ -14,7 +17,7 @@ env:
1417
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
1518

1619
jobs:
17-
validate-navigation:
20+
validate-assembler:
1821
runs-on: ubuntu-latest
1922
steps:
2023
- uses: actions/checkout@v4
@@ -23,9 +26,12 @@ jobs:
2326
id: bootstrap
2427
uses: ./.github/actions/bootstrap
2528

26-
- name: Build
29+
- name: Validate Navigation
2730
run: dotnet run --project src/tooling/docs-assembler -c release -- navigation validate
2831

32+
- name: Validate Content Sources
33+
run: dotnet run --project src/tooling/docs-assembler -c release -- content-source validate
34+
2935
build-lambda:
3036
uses: ./.github/workflows/build-link-index-updater-lambda.yml
3137

.github/workflows/preview-build.yml

Lines changed: 87 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,13 @@ on:
1010
branches:
1111
- main
1212
- master
13+
# TODO remove these need to be added to individual repositories
14+
- '\d+.\d+.\d+'
15+
- '\d+.\d+'
16+
- '\d+.x'
17+
tags:
18+
- 'v?\d+.\d+.\d+'
19+
- 'v?\d+.\d+'
1320
workflow_call:
1421
inputs:
1522
strict:
@@ -44,6 +51,44 @@ permissions:
4451
pull-requests: read
4552

4653
jobs:
54+
match:
55+
if: github.event.repository.fork == false # Skip running the job on the fork itself (It still runs on PRs on the upstream from forks)
56+
concurrency:
57+
group: ${{ github.workflow }}-${{ github.event.pull_request.head.ref || github.ref }}
58+
cancel-in-progress: ${{ startsWith(github.event_name, 'pull_request') }}
59+
runs-on: ubuntu-latest
60+
outputs:
61+
content-source-match: ${{ steps.event-check.outputs.content-source-match != '' && steps.event-check.outputs.content-source-match || steps.match.outputs.content-source-match }}
62+
content-source-next: ${{ steps.event-check.outputs.content-source-next != '' && steps.event-check.outputs.content-source-next || steps.match.outputs.content-source-next }}
63+
content-source-current: ${{ steps.event-check.outputs.content-source-current != '' && steps.event-check.outputs.content-source-current || steps.match.outputs.content-source-current }}
64+
content-source-speculative: ${{ steps.event-check.outputs.content-source-speculative != '' && steps.event-check.outputs.content-source-speculative || steps.match.outputs.content-source-speculative }}
65+
steps:
66+
- name: Not a push event
67+
id: event-check
68+
if: contains(fromJSON('["merge_group", "pull_request", "pull_request_target"]'), github.event_name)
69+
# we always want to run for pull requests, but we do not want to indicate its either content source
70+
run: |
71+
echo "content-source-match=true" >> $GITHUB_OUTPUT
72+
echo "content-source-next=false" >> $GITHUB_OUTPUT
73+
echo "content-source-current=false" >> $GITHUB_OUTPUT
74+
echo "content-source-speculative=false" >> $GITHUB_OUTPUT
75+
- name: Match for push events
76+
id: match
77+
if: contains(fromJSON('["push"]'), github.event_name)
78+
uses: elastic/docs-builder/actions/assembler-match@main
79+
with:
80+
ref_name: ${{ github.ref_name }}
81+
repository: ${{ github.repository }}
82+
- name: Debug
83+
run: |
84+
echo "Non sensitive data, echo'ing here temporarily to validate this job before connecting it further into the build job"
85+
echo "content-source-match=${{ steps.event-check.outputs.content-source-match != '' && steps.event-check.outputs.content-source-match || steps.match.outputs.content-source-match }}"
86+
echo "content-source-next=${{ steps.event-check.outputs.content-source-next != '' && steps.event-check.outputs.content-source-next || steps.match.outputs.content-source-next }}"
87+
echo "content-source-current=${{ steps.event-check.outputs.content-source-current != '' && steps.event-check.outputs.content-source-current || steps.match.outputs.content-source-current }}"
88+
echo "content-source-speculative=${{ steps.event-check.outputs.content-source-speculative != '' && steps.event-check.outputs.content-source-speculative || steps.match.outputs.content-source-speculative }}"
89+
echo "ref=${{ github.ref_name }}"
90+
echo "repo=${{ github.repository }}"
91+
4792
build:
4893
if: github.event.repository.fork == false # Skip running the job on the fork itself (It still runs on PRs on the upstream from forks)
4994
concurrency:
@@ -52,30 +97,36 @@ jobs:
5297
runs-on: ubuntu-latest
5398
env:
5499
GITHUB_PR_REF_NAME: ${{ github.event.pull_request.head.ref }}
100+
MATCH: ${{ needs.match.outputs.content-source-match }}
101+
needs: [ match ]
55102
steps:
56103

57104
- name: Checkout
58-
if: contains(fromJSON('["push", "merge_group", "workflow_dispatch"]'), github.event_name)
105+
if: env.MATCH == 'true' && (contains(fromJSON('["push", "merge_group", "workflow_dispatch"]'), github.event_name))
59106
uses: actions/checkout@v4
60107
with:
61108
ref: ${{ github.event.pull_request.head.sha || github.ref }}
62109

63110
- name: Get changed files
64-
if: contains(fromJSON('["merge_group", "pull_request", "pull_request_target"]'), github.event_name)
111+
if: env.MATCH == 'true' && (contains(fromJSON('["merge_group", "pull_request", "pull_request_target"]'), github.event_name))
65112
id: check-files
66113
uses: tj-actions/changed-files@2f7c5bfce28377bc069a65ba478de0a74aa0ca32 # v46.0.1
67114
with:
68115
files: ${{ inputs.path-pattern != '' && inputs.path-pattern || '**' }}
69116

70117
- name: Checkout
71-
if: startsWith(github.event_name, 'pull_request') && steps.check-files.outputs.any_modified == 'true'
118+
if: env.MATCH == 'true' && (startsWith(github.event_name, 'pull_request') && steps.check-files.outputs.any_modified == 'true')
72119
uses: actions/checkout@v4
73120
with:
74121
ref: ${{ github.event.pull_request.head.sha || github.ref }}
75122
persist-credentials: false
76123

77124
- name: Create Deployment
78-
if: contains(fromJSON('["push", "workflow_dispatch"]'), github.event_name) || (steps.check-files.outputs.any_modified == 'true' && startsWith(github.event_name, 'pull_request'))
125+
if: |
126+
env.MATCH == 'true' &&
127+
(contains(fromJSON('["push", "workflow_dispatch"]'), github.event_name)
128+
|| (steps.check-files.outputs.any_modified == 'true' && startsWith(github.event_name, 'pull_request'))
129+
)
79130
uses: actions/github-script@v7
80131
id: deployment
81132
env:
@@ -108,7 +159,7 @@ jobs:
108159
return deployment.data.id
109160
110161
- name: Generate env.PATH_PREFIX
111-
if: steps.deployment.outputs.result
162+
if: env.MATCH == 'true' && (steps.deployment.outputs.result)
112163
env:
113164
PR_NUMBER: ${{ github.event.pull_request.number }}
114165
GITHUB_REF_NAME: ${{ github.ref_name }}
@@ -119,10 +170,6 @@ jobs:
119170
;;
120171
"push" | "workflow_dispatch")
121172
echo "PATH_PREFIX=/${GITHUB_REPOSITORY}/tree/${GITHUB_REF_NAME}" >> $GITHUB_ENV
122-
if [[ ! "${GITHUB_REF_NAME}" =~ ^(main|master|16\.x)$ ]]; then
123-
echo "Unsupported ref name: '${GITHUB_REF_NAME}'";
124-
exit 1;
125-
fi
126173
;;
127174
*)
128175
echo "Unsupported event: '${GITHUB_EVENT_NAME}'";
@@ -131,18 +178,22 @@ jobs:
131178
esac
132179
133180
- name: Bootstrap Action Workspace
134-
if: github.repository == 'elastic/docs-builder' && steps.deployment.outputs.result
181+
if: env.MATCH == 'true' && (github.repository == 'elastic/docs-builder' && steps.deployment.outputs.result)
135182
uses: elastic/docs-builder/.github/actions/bootstrap@main
136183

137-
# we run our artifact directly please use the prebuild
184+
# we run our artifact directly, please use the prebuild
138185
# elastic/docs-builder@main GitHub Action for all other repositories!
139186
- name: Build documentation
140-
if: github.repository == 'elastic/docs-builder' && steps.deployment.outputs.result
187+
if: env.MATCH == 'true' && (github.repository == 'elastic/docs-builder' && steps.deployment.outputs.result)
141188
run: |
142189
dotnet run --project src/tooling/docs-builder -- --strict --path-prefix "${PATH_PREFIX}"
143190
144191
- name: Build documentation
145-
if: github.repository != 'elastic/docs-builder' && (steps.deployment.outputs.result || (steps.check-files.outputs.any_modified == 'true' && github.event_name == 'merge_group'))
192+
if: |
193+
env.MATCH == 'true' &&
194+
(github.repository != 'elastic/docs-builder' &&
195+
(steps.deployment.outputs.result || (steps.check-files.outputs.any_modified == 'true' && github.event_name == 'merge_group'))
196+
)
146197
uses: elastic/docs-builder@main
147198
id: docs-build
148199
continue-on-error: ${{ fromJSON(inputs.continue-on-error != '' && inputs.continue-on-error || 'false') }}
@@ -152,32 +203,50 @@ jobs:
152203
metadata-only: ${{ fromJSON(inputs.metadata-only != '' && inputs.metadata-only || 'true') }}
153204

154205
- name: 'Validate inbound links'
155-
if: ${{ !cancelled() && steps.docs-build.outputs.skip != 'true' && (steps.deployment.outputs.result || (steps.check-files.outputs.any_modified == 'true' && github.event_name == 'merge_group')) }}
206+
if: |
207+
env.MATCH == 'true' &&
208+
(!cancelled() && steps.docs-build.outputs.skip != 'true'
209+
&& (steps.deployment.outputs.result || (steps.check-files.outputs.any_modified == 'true' && github.event_name == 'merge_group'))
210+
)
156211
uses: elastic/docs-builder/actions/validate-inbound-local@main
157212

158213
- name: 'Validate local path prefixes against those claimed by global navigation.yml'
159-
if: ${{ !cancelled() && steps.docs-build.outputs.skip != 'true' && (steps.deployment.outputs.result || (steps.check-files.outputs.any_modified == 'true' && github.event_name == 'merge_group')) }}
214+
if: |
215+
env.MATCH == 'true' &&
216+
(!cancelled() && steps.docs-build.outputs.skip != 'true' &&
217+
(steps.deployment.outputs.result || (steps.check-files.outputs.any_modified == 'true' && github.event_name == 'merge_group'))
218+
)
160219
uses: elastic/docs-builder/actions/validate-path-prefixes-local@main
161220

162221
- uses: elastic/docs-builder/.github/actions/aws-auth@main
163222
if: ${{ !cancelled() && steps.docs-build.outputs.skip != 'true' && steps.deployment.outputs.result }}
164223

165224
- name: Upload to S3
166225
id: s3-upload
167-
if: ${{ !cancelled() && steps.docs-build.outputs.skip != 'true' && steps.deployment.outputs.result }}
226+
if: |
227+
env.MATCH == 'true' &&
228+
(!cancelled() && steps.docs-build.outputs.skip != 'true' && steps.deployment.outputs.result)
168229
run: |
169230
aws s3 sync .artifacts/docs/html "s3://elastic-docs-v3-website-preview${PATH_PREFIX}" --delete --no-follow-symlinks
170231
aws cloudfront create-invalidation \
171232
--distribution-id EKT7LT5PM8RKS \
172233
--paths "${PATH_PREFIX}" "${PATH_PREFIX}/*"
173234
174235
- name: Update Link Index
175-
if: contains(fromJSON('["push", "workflow_dispatch"]'), github.event_name) && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master') && steps.s3-upload.outcome == 'success'
236+
if: |
237+
env.MATCH == 'true' &&
238+
(contains(fromJSON('["push", "workflow_dispatch"]'), github.event_name)
239+
&& (
240+
needs.match.outputs.content-source-current == 'true'
241+
|| needs.match.outputs.content-source-next == 'true'
242+
|| needs.match.outputs.content-source-speculative == 'true'
243+
)
244+
&& steps.s3-upload.outcome == 'success')
176245
uses: elastic/docs-builder/actions/update-link-index@main
177246

178247
- name: Update deployment status
179248
uses: actions/github-script@v7
180-
if: always() && steps.deployment.outputs.result
249+
if: env.MATCH == 'true' && (always() && steps.deployment.outputs.result)
181250
env:
182251
PR_NUMBER: ${{ github.event.pull_request.number }}
183252
LANDING_PAGE_PATH: ${{ steps.docs-build.outputs.landing-page-path || env.PATH_PREFIX }}

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ jobs:
9999
run: |
100100
zip -j "${ZIP_FILE}" ./bootstrap
101101
102-
- uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
102+
- uses: aws-actions/configure-aws-credentials@b47578312673ae6fa5b5096b330d9fbac3d116df # v4.2.1
103103
with:
104104
role-to-assume: arn:aws:iam::197730964718:role/elastic-docs-v3-link-index-updater-deployer
105105
aws-region: us-east-2
@@ -159,7 +159,7 @@ jobs:
159159
gh release upload ${{ needs.release-drafter.outputs.tag_name }} .artifacts/publish/docs-builder/release/*.zip
160160
gh release upload ${{ needs.release-drafter.outputs.tag_name }} .artifacts/publish/docs-assembler/release/*.zip
161161
shell: bash
162-
162+
163163
publish-release:
164164
needs:
165165
- release

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
22.13.1
1+
22.16.0

Directory.Packages.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<PackageVersion Include="Amazon.Lambda.SQSEvents" Version="2.2.0" />
1616
<PackageVersion Include="AWSSDK.Core" Version="4.0.0.2" />
1717
<PackageVersion Include="AWSSDK.SQS" Version="4.0.0.1" />
18-
<PackageVersion Include="AWSSDK.S3" Version="4.0.0.1"/>
18+
<PackageVersion Include="AWSSDK.S3" Version="4.0.0.1" />
1919
</ItemGroup>
2020
<!-- Build -->
2121
<ItemGroup>
@@ -32,7 +32,7 @@
3232
<PackageVersion Include="Crayon" Version="2.0.69" />
3333
<PackageVersion Include="DotNet.Glob" Version="3.1.3" />
3434
<PackageVersion Include="Errata" Version="0.14.0" />
35-
<PackageVersion Include="Github.Actions.Core" Version="9.0.0"/>
35+
<PackageVersion Include="Github.Actions.Core" Version="9.0.0" />
3636
<PackageVersion Include="Microsoft.Extensions.Logging" Version="9.0.4" />
3737
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="9.0.4" />
3838
<PackageVersion Include="Markdig" Version="0.41.1" />

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# docs-builder
22

3+
[![ci](https://github.com/elastic/docs-builder/actions/workflows/ci.yml/badge.svg?branch=main&event=push)](https://github.com/elastic/docs-builder/actions/workflows/ci.yml)
4+
35
You've reached the home of the latest incarnation of the documentation tooling.
46

57
This repository is host to:
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
name: 'Documentation Assembler Configuration Validator'
2+
description: 'Ensures the assembler configuration is valid'
3+
4+
branding:
5+
icon: 'filter'
6+
color: 'blue'
7+
8+
runs:
9+
using: 'docker'
10+
image: "docker://ghcr.io/elastic/docs-assembler:edge"
11+
env:
12+
INPUT_COMMAND: "content-source validate"

actions/assembler-match/action.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: 'Documentation Assembler Match'
2+
description: 'Checks if the current commit is on either a current or next branch'
3+
4+
branding:
5+
icon: 'filter'
6+
color: 'blue'
7+
8+
inputs:
9+
repository:
10+
description: 'the repository name'
11+
required: true
12+
ref_name:
13+
description: 'The branch or tag name'
14+
required: true
15+
16+
outputs:
17+
content-source-match:
18+
description: 'true/false indicating the branch matches a content-source'
19+
content-source-next:
20+
description: "true/false indicating the branch acts as the next content source"
21+
content-source-current:
22+
description: "true/false indicating the branch acts as the current content source"
23+
content-source-speculative:
24+
description: "true/false speculative match, used to build version branches before they are marked as current/next"
25+
26+
runs:
27+
using: 'docker'
28+
image: "docker://ghcr.io/elastic/docs-assembler:edge"
29+
env:
30+
INPUT_COMMAND: "content-source match"

0 commit comments

Comments
 (0)