@@ -235,6 +235,60 @@ local PipelineBuildContainer(arch='amd64') = {
235235 },
236236};
237237
238+ local PipelineDocs = {
239+ kind: 'pipeline' ,
240+ name: 'docs' ,
241+ platform: {
242+ os: 'linux' ,
243+ arch: 'amd64' ,
244+ },
245+ concurrency: {
246+ limit: 1 ,
247+ },
248+ steps: [
249+ {
250+ name: 'markdownlint' ,
251+ image: 'thegeeklab/markdownlint-cli' ,
252+ commands: [
253+ "markdownlint 'docs/content/**/*.md' 'README.md' 'CONTRIBUTING.md'" ,
254+ ],
255+ },
256+ {
257+ name: 'spellcheck' ,
258+ image: 'node:lts-alpine' ,
259+ commands: [
260+ 'npm install -g spellchecker-cli' ,
261+ "spellchecker --files '_docs/**/*.md' 'README.md' 'CONTRIBUTING.md' -d .dictionary -p spell indefinite-article syntax-urls --no-suggestions" ,
262+ ],
263+ environment: {
264+ FORCE_COLOR: true ,
265+ NPM_CONFIG_LOGLEVEL: 'error' ,
266+ },
267+ },
268+ {
269+ name: 'publish' ,
270+ image: 'plugins/gh-pages' ,
271+ settings: {
272+ username: { from_secret: 'github_username' },
273+ password: { from_secret: 'github_token' },
274+ pages_directory: '_docs/' ,
275+ target_branch: 'docs' ,
276+ },
277+ when: {
278+ ref: ['refs/heads/main' ],
279+ },
280+ },
281+ ],
282+ depends_on: [
283+ 'build-binaries' ,
284+ 'build-container-amd64' ,
285+ 'build-container-arm64' ,
286+ ],
287+ trigger: {
288+ ref: ['refs/heads/main' , 'refs/tags/**' , 'refs/pull/**' ],
289+ },
290+ };
291+
238292local PipelineNotifications = {
239293 kind: 'pipeline' ,
240294 image_pull_secrets: ['docker_config' ],
@@ -320,9 +374,7 @@ local PipelineNotifications = {
320374 },
321375 ],
322376 depends_on: [
323- 'build-binaries' ,
324- 'build-container-amd64' ,
325- 'build-container-arm64' ,
377+ 'docs' ,
326378 ],
327379 trigger: {
328380 ref: ['refs/heads/main' , 'refs/tags/**' ],
@@ -335,5 +387,6 @@ local PipelineNotifications = {
335387 PipelineBuildBinaries,
336388 PipelineBuildContainer(arch='amd64' ),
337389 PipelineBuildContainer(arch='arm64' ),
390+ PipelineDocs,
338391 PipelineNotifications,
339392]
0 commit comments