blob: c0cb3fbe1302b8406f201fba81dfe87d321f6cdf (
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
128
|
- job:
name: tcwg-bisect-llvm-kernel-aarch64
project-type: freestyle
defaults: global
properties:
- authorization:
anonymous:
- job-read
- job-extended-read
linaro:
- job-build
- job-cancel
- build-discarder:
days-to-keep: 30
num-to-keep: 30
parameters:
- choice:
name: current_project
choices:
- llvm
- linux
description: 'Project to bisect'
- string:
name: good_rev
default: refs/remotes/gerrit/linaro-local/ci/llvm-kernel-aarch64-good
description: "Good revision"
- string:
name: bad_rev
default: refs/remotes/gerrit/linaro-local/ci/llvm-kernel-aarch64-tested
description: "Bad revision"
- string:
name: baseline
default: last-successful
description: "Baseline to compare against: last-successful, none, or build number"
- string:
name: distro
default: xenial
description: 'Distro image to use'
- string:
name: scripts_branch
default: llvm-kernel-v2
description: 'Scripts revision to use'
disabled: false
node: tcwg-d05_64-build
concurrent: false
display-name: 'TCWG Bisect LLVM + Linux-next @ AArch64'
scm:
- git:
url: https://git-us.linaro.org/toolchain/jenkins-scripts.git
refspec: +refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*
branches:
- $scripts_branch
basedir: jenkins-scripts
skip-tag: true
shallow-clone: true
wipe-workspace: false
clean:
before: true
prune: true
wrappers:
- timeout:
timeout: 600
- timestamps
- ssh-agent-credentials:
# tcwg-buildslave user id
users:
- 'e0958a95-204f-4c14-a66c-5e2be6c5d50a'
builders:
- shell: |
#!/bin/bash
set -e
echo "=== Print out environment for debug purposes ==="
env | grep "GERRIT\|GIT"
echo "=== Environment end ==="
set -x
echo "#$BUILD_NUMBER-$current_project" > build-name
rm -rf prev_artifacts*
case "$baseline" in
last-successful) touch prev_artifacts-last-successful ;;
none) touch prev_artifacts-none ;;
*) touch prev_artifacts-specific-build ;;
esac
- build-name-setter:
name: 'build-name'
file: true
- conditional-step:
condition-kind: file-exists
condition-filename: prev_artifacts-last-successful
steps:
- copyartifact:
project: tcwg-rr-llvm-kernel-aarch64
target: prev_artifacts
optional: true
which-build: last-successful
- conditional-step:
condition-kind: file-exists
condition-filename: prev_artifacts-specific-build
steps:
- copyartifact:
project: tcwg-rr-llvm-kernel-aarch64
target: prev_artifacts
optional: true
which-build: specific-build
build-number: '${ENV,var="baseline"}'
- conditional-step:
condition-kind: file-exists
condition-filename: prev_artifacts-none
steps:
- shell: |
echo "Building without baseline"
- shell: |
#!/bin/bash
set -ex
./jenkins-scripts/docker-run.sh --distro $distro -- \
./jenkins-scripts/tcwg-bisect-llvm-kernel.sh \
--current_project "$current_project" \
--good_rev "$good_rev" \
--bad_rev "$bad_rev" \
--verbose true
echo "#$BUILD_NUMBER-$current_project-$(cat artifacts/first-bad)" > build-name
- build-name-setter:
name: 'build-name'
file: true
publishers:
- archive:
artifacts: 'artifacts/**'
latest-only: false
|