summaryrefslogtreecommitdiffstats
path: root/coin/instructions/cmake_documentation_build.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'coin/instructions/cmake_documentation_build.yaml')
-rw-r--r--coin/instructions/cmake_documentation_build.yaml38
1 files changed, 38 insertions, 0 deletions
diff --git a/coin/instructions/cmake_documentation_build.yaml b/coin/instructions/cmake_documentation_build.yaml
new file mode 100644
index 0000000000..9630b503a1
--- /dev/null
+++ b/coin/instructions/cmake_documentation_build.yaml
@@ -0,0 +1,38 @@
+type: Group
+instructions:
+ - type: ChangeDirectory
+ directory: "{{.SourceDir}}_build"
+ # If documentation feature is present, Coin installs top-level documentation
+ # built by product(qt5) build into <module_name>_doc_build/doc. Coin will
+ # silently omit installing the top-level documentations if not built by the product.
+ - type: ExecuteCommand
+ command: "rsync -a {{.SourceDir}}_doc_build/doc {{.SourceDir}}_build"
+ maxTimeInSeconds: 300
+ maxTimeBetweenOutput: 300
+ userMessageOnFailure: Failed to copy top-level docs to build dir.
+ # Filter list is created to exclude everything else than the
+ # generated documentation from the documentation archive.
+ - type: CreateFileListFromDirectory
+ directory: "{{.SourceDir}}_build/doc"
+ filterListFileName: "doc_build_filter"
+ userMessageOnFailure: "Failed to create filter list for docs"
+ - type: ExecuteCommand
+ command: "{{.Env.ENV_PREFIX}} cmake --build . --target docs -v"
+ maxTimeInSeconds: 6000
+ maxTimeBetweenOutput: 1200
+ userMessageOnFailure: Failed to generate documentation.
+ - type: UploadArtifact
+ archiveDirectory: "{{.SourceDir}}_build/doc"
+ transferType: UploadModuleDocumentation
+ filterListFileName: "doc_build_filter"
+ maxTimeInSeconds: 1200
+ maxTimeBetweenOutput: 1200
+enable_if:
+ condition: and
+ conditions:
+ - condition: property
+ property: features
+ contains_value: Documentation
+ - condition: runtime
+ env_var: BUILD_DOCUMENTATION
+ not_equals_value: null