blob: 199f32120cbf5699b807479da5ada415f64f9459 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
- job:
name: tcwg-llvm-precommit
project-type: matrix
defaults: global
properties:
- authorization:
anonymous:
- job-read
- job-extended-read
linaro:
- job-build
- job-cancel
- build-discarder:
days-to-keep: 10
num-to-keep: 10
parameters:
- choice:
name: build_type
choices:
- Release
- RelWithDebInfo
- Debug
- MinSizeRel
default: 'Release'
description: 'Release, RelWithDebInfo, Debug, MinSizeRel'
- string:
name: cmake_flags
default: ''
description: 'Additional CMake flags, ex. CMAKE_CXX_FLAGS, etc.'
- bool:
name: twostage
default: false
description: 'Whether or not to trigger a second stage with this build.'
- bool:
name: testsuite
default: false
description: 'Whether or not to trigger a test-suite with this build.'
- choice:
name: compiler
choices:
- clang
- gcc
default: 'clang'
description: 'Override the default system compiler.'
- string:
name: branch
default: ''
description: 'Which branch to validate (should not be master).'
disabled: false
node: tcwg-coordinator
retry-count: 3
concurrent: true
display-name: 'TCWG LLVM Pre-Commit'
scm:
- git:
url: http://git-us.linaro.org/toolchain/jenkins-scripts.git
refspec: +refs/heads/master:refs/remotes/origin/master
name: origin
branches:
- refs/heads/master
skip-tag: true
shallow-clone: true
wipe-workspace: true
axes:
- axis:
type: slave
name: label
values:
- tcwg-x86_64-cam
- tcwg-tk1_32-build
- tcwg-apm_64-build
execution-strategy:
sequential: false
wrappers:
- timeout:
timeout: 300
- timestamps
- ssh-agent-credentials:
# tcwg-buildslave user id
users:
- 'e0958a95-204f-4c14-a66c-5e2be6c5d50a'
- build-name:
name: '#${BUILD_NUMBER}-${GIT_REVISION,length=8}'
builders:
- shell: |
#!/bin/bash
set -ex
# We should not need to pre-commit validate master/empty
if [ "${branch:+set}" != "set" ] || [ "${branch}" = "master" ]; then
echo "ERROR: Branch not set or set to master. Cannot validate."
exit 1
fi
# Default values, only add them to parameters if really needed
repository="https://git-us.linaro.org/toolchain/llvm"
build_container_tag="xenial"
# Find projects from branch
. "${WORKSPACE}/tcwg-llvm-common.sh"
projects="$(list_branch_projects ${branch})"
# TODO: Find revision, to start the base job on master
# Setup job parameters (in staged build order)
cat << EOF > llvm.params.precommit
build_type=${build_type}
cmake_flags=${cmake_flags}
build_container_tag=${build_container_tag}
twostage=${twostage}
testsuite=${testsuite}
compiler=${compiler}
repository=${repository}
projects=${projects}
branch=${branch}
target_list=${label}
EOF
- conditional-step:
condition-kind: file-exists
condition-filename: llvm.params.precommit
steps:
- trigger-builds:
- project: 'tcwg-llvm-staged-build'
property-file: llvm.params.precommit
current-parameters: true
block: true
|