Add cmake-verify job template
[releng/global-jjb.git] / docs / jjb / lf-c-cpp-jobs.rst
1 ##########
2 C/C++ Jobs
3 ##########
4
5 Job Templates
6 =============
7
8 CMake Verify
9 ------------
10
11 Verify job which runs cmake && make && make install to test a project build..
12
13 :Template Names:
14
15     - {project-name}-cmake-verify-{stream}
16     - gerrit-cmake-verify
17     - github-cmake-verify
18
19 :Required parameters:
20
21     :build-node: The node to run build on.
22     :jenkins-ssh-credential: Credential to use for SSH.
23         (Configure in defaults.yaml)
24
25 :Optional parameters:
26
27     :branch: Git branch to fetch for the build. (default: master)
28     :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
29     :build-dir: Directory to build the project in. (default: $WORKSPACE/target)
30     :build-timeout: Timeout in minutes before aborting build. (default: 60)
31     :cmake-opts: Parameters to pass to cmake. (default: '')
32     :git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
33     :install-prefix: CMAKE_INSTALL_PREFIX to use for install.
34         (default: $BUILD_DIR/output)
35
36         .. code-block:: bash
37            :caption: Example
38
39            install-prefix: |
40                #!/bin/bash
41                echo "Hello World."
42
43     :make-opts: Parameters to pass to make. (default: '')
44     :pre-build: Shell script to run before performing build. Useful for
45         setting up dependencies. (default: '')
46     :stream: Keyword that to represent a release code-name.
47         Often the same as the branch. (default: master)
48     :submodule-recursive: Whether to checkout submodules recursively.
49         (default: true)
50
51     :gerrit_verify_triggers: Override Gerrit Triggers.
52     :gerrit_trigger_file_paths: Override file paths which to filter which file
53         modifications will trigger a build.