continuous validation
TRANSCRIPT
© Copyright 2016 Xilinx.
Continuous ValidationJoshua GraffManager: Devops ToolsXilinx
© Copyright 2016 Xilinx.
2
Who?
© Copyright 2016 Xilinx.
3
What?
© Copyright 2016 Xilinx.
4
What?
© Copyright 2016 Xilinx.
The Problem
© Copyright 2016 Xilinx.
6
Software
© Copyright 2016 Xilinx.
7
Size
Developers350+
© Copyright 2016 Xilinx.
Our Story
© Copyright 2016 Xilinx.
9
Growth
1/1/18
99
1/1/19
02
1/1/19
05
1/1/19
08
1/1/191
1
1/1/19
14
1/1/19
17
1/1/19
20
1/1/19
23
1/1/19
26
1/1/19
29
1/1/19
32
1/1/19
35
1/1/19
38
1/1/19
41
1/1/19
44
1/1/19
47
1/1/19
50
1/1/19
53
1/1/19
56
1/1/19
59
1/1/196
2
1/1/19
65
1/1/19
68
1/1/19
71
1/1/19
74
1/1/19
77
1/1/19
80
1/1/19
83
1/1/19
86
1/1/19
89
1/1/19
92
1/1/19
95
1/1/19
98
1/1/20
01
1/1/200
4
1/1/20
070
50
100
150
200
250
300
350
400
Total active developers
© Copyright 2016 Xilinx.
10
Automation
Wall P4
© Copyright 2016 Xilinx.
11
Automation
+
Wall
Workspaces
submit S1
Workers
P4
© Copyright 2016 Xilinx.
Bigger, Faster
© Copyright 2016 Xilinx.
13
Bigger
1/1/18
99
1/1/19
02
1/1/19
05
1/1/19
08
1/1/19
11
1/1/19
14
1/1/19
17
1/1/19
20
1/1/19
23
1/1/19
26
1/1/19
29
1/1/19
32
1/1/19
35
1/1/19
38
1/1/19
41
1/1/19
44
1/1/19
47
1/1/19
50
1/1/19
53
1/1/19
56
1/1/19
59
1/1/19
62
1/1/19
65
1/1/19
68
1/1/19
71
1/1/19
74
1/1/19
77
1/1/19
80
1/1/19
83
1/1/19
86
1/1/19
89
1/1/19
92
1/1/19
95
1/1/19
98
1/1/20
01
1/1/20
04
1/1/20
07
1/1/20
100
50
100
150
200
250
300
350
400
Total Active Developers
© Copyright 2016 Xilinx.
14
Bigger
1/1/18
99
1/1/19
02
1/1/19
05
1/1/19
08
1/1/19
11
1/1/19
14
1/1/19
17
1/1/19
20
1/1/19
23
1/1/19
26
1/1/19
29
1/1/19
32
1/1/19
35
1/1/19
38
1/1/19
41
1/1/19
44
1/1/19
47
1/1/19
50
1/1/19
53
1/1/19
56
1/1/19
59
1/1/19
62
1/1/19
65
1/1/19
68
1/1/19
71
1/1/19
74
1/1/19
77
1/1/19
80
1/1/19
83
1/1/19
86
1/1/19
89
1/1/19
92
1/1/19
95
1/1/19
98
1/1/20
01
1/1/20
04
1/1/20
07
1/1/20
100
10000
20000
30000
40000
50000
60000
Submissions
© Copyright 2016 Xilinx.
15
Faster
More Developers
More Change
Stricter timelines
More Code
More Releases
Tighter budgets
© Copyright 2016 Xilinx.
Keeping DRY
© Copyright 2016 Xilinx.
17
Automation
+
Wall
Workspaces
submit S1
Workers
P4
© Copyright 2016 Xilinx.
18
Workspaces
S3 S2 S1 +
© Copyright 2016 Xilinx.
19
Cloning
S3 S2 S1
Test
Snapshot
Build
+
© Copyright 2016 Xilinx.
20
Caching
Fast master cycle
Long build phase
© Copyright 2016 Xilinx.
21
Caching
checksum
env
toolsfoo.
c
2e5daf0201ddeb068a62d5e08da18657ab2c6be9
foo.o
Speed up compilation
Object cache
© Copyright 2016 Xilinx.
22
Naïve validation
S1
Product Build TestA X X
B X X
C X X
© Copyright 2016 Xilinx.
23
Smarter validation
S1
Product Build TestA X X
B X
C
foo.cbar.c ?=
© Copyright 2016 Xilinx.
Infrastructure
© Copyright 2016 Xilinx.
25
Infrastructure
Scalability and elasticity
Management and utilization
Storage
© Copyright 2016 Xilinx.
26
Virtualize the world
Scalability and elasticity
Management and utilization
Storage
© Copyright 2016 Xilinx.
Build It
© Copyright 2016 Xilinx.
28
When?
1/1/18
99
1/1/19
02
1/1/19
05
1/1/19
08
1/1/19
11
1/1/19
14
1/1/19
17
1/1/19
20
1/1/19
23
1/1/19
26
1/1/19
29
1/1/19
32
1/1/19
35
1/1/19
38
1/1/19
41
1/1/19
44
1/1/19
47
1/1/19
50
1/1/19
53
1/1/19
56
1/1/19
59
1/1/19
62
1/1/19
65
1/1/19
68
1/1/19
71
1/1/19
74
1/1/19
77
1/1/19
80
1/1/19
83
1/1/19
86
1/1/19
89
1/1/19
92
1/1/19
95
1/1/19
98
1/1/20
01
1/1/20
04
1/1/20
07
1/1/20
100
50
100
150
200
250
300
350
400
Total Active Developers
© Copyright 2016 Xilinx.
29
Solid foundation
Reliable build system• All platforms• Incremental compilation• Well defined dependencies
Reliable test system• Well defined tests• Scalable testing