@@ -5,89 +5,26 @@ kibanaLibrary.load() // load from the Jenkins instance
55
66kibanaPipeline(timeoutMinutes : 240 ) {
77 catchErrors {
8+ def timestamp = new Date (currentBuild. startTimeInMillis). format(" yyyy-MM-dd'T'HH:mm:ss'Z'" , TimeZone . getTimeZone(" UTC" ))
89 withEnv([
9- ' CODE_COVERAGE=1' , // Needed for multiple ci scripts, such as remote.ts, test/scripts/*.sh, schema.js, etc.
10+ " TIME_STAMP=${ timestamp} " ,
11+ ' CODE_COVERAGE=1' , // Enables coverage. Needed for multiple ci scripts, such as remote.ts, test/scripts/*.sh, schema.js, etc.
1012 ]) {
11- parallel([
12- ' kibana-intake-agent' : workers. intake(' kibana-intake' , ' ./test/scripts/jenkins_unit.sh' ),
13- ' x-pack-intake-agent' : {
14- withEnv([
15- ' NODE_ENV=test' // Needed for jest tests only
16- ]) {
17- workers. intake(' x-pack-intake' , ' ./test/scripts/jenkins_xpack.sh' )()
18- }
19- },
20- ' kibana-oss-agent' : workers. functional(' kibana-oss-tests' , { kibanaPipeline. buildOss() }, [
21- ' oss-ciGroup1' : kibanaPipeline. ossCiGroupProcess(1 ),
22- ' oss-ciGroup2' : kibanaPipeline. ossCiGroupProcess(2 ),
23- ' oss-ciGroup3' : kibanaPipeline. ossCiGroupProcess(3 ),
24- ' oss-ciGroup4' : kibanaPipeline. ossCiGroupProcess(4 ),
25- ' oss-ciGroup5' : kibanaPipeline. ossCiGroupProcess(5 ),
26- ' oss-ciGroup6' : kibanaPipeline. ossCiGroupProcess(6 ),
27- ' oss-ciGroup7' : kibanaPipeline. ossCiGroupProcess(7 ),
28- ' oss-ciGroup8' : kibanaPipeline. ossCiGroupProcess(8 ),
29- ' oss-ciGroup9' : kibanaPipeline. ossCiGroupProcess(9 ),
30- ' oss-ciGroup10' : kibanaPipeline. ossCiGroupProcess(10 ),
31- ' oss-ciGroup11' : kibanaPipeline. ossCiGroupProcess(11 ),
32- ' oss-ciGroup12' : kibanaPipeline. ossCiGroupProcess(12 ),
33- ]),
34- ' kibana-xpack-agent' : workers. functional(' kibana-xpack-tests' , { kibanaPipeline. buildXpack() }, [
35- ' xpack-ciGroup1' : kibanaPipeline. xpackCiGroupProcess(1 ),
36- ' xpack-ciGroup2' : kibanaPipeline. xpackCiGroupProcess(2 ),
37- ' xpack-ciGroup3' : kibanaPipeline. xpackCiGroupProcess(3 ),
38- ' xpack-ciGroup4' : kibanaPipeline. xpackCiGroupProcess(4 ),
39- ' xpack-ciGroup5' : kibanaPipeline. xpackCiGroupProcess(5 ),
40- ' xpack-ciGroup6' : kibanaPipeline. xpackCiGroupProcess(6 ),
41- ' xpack-ciGroup7' : kibanaPipeline. xpackCiGroupProcess(7 ),
42- ' xpack-ciGroup8' : kibanaPipeline. xpackCiGroupProcess(8 ),
43- ' xpack-ciGroup9' : kibanaPipeline. xpackCiGroupProcess(9 ),
44- ' xpack-ciGroup10' : kibanaPipeline. xpackCiGroupProcess(10 ),
45- ]),
46- ])
4713 workers. base(name : ' coverage-worker' , size : ' l' , ramDisk : false , bootstrapped : false ) {
48- kibanaPipeline. downloadCoverageArtifacts()
49- kibanaPipeline. bash(
50- '''
51- # bootstrap from x-pack folder
52- source src/dev/ci_setup/setup_env.sh
53- cd x-pack
54- yarn kbn bootstrap --prefer-offline
55- cd ..
56- # extract archives
57- mkdir -p /tmp/extracted_coverage
58- echo extracting intakes
59- tar -xzf /tmp/downloaded_coverage/coverage/kibana-intake/kibana-coverage.tar.gz -C /tmp/extracted_coverage
60- tar -xzf /tmp/downloaded_coverage/coverage/x-pack-intake/kibana-coverage.tar.gz -C /tmp/extracted_coverage
61- echo extracting kibana-oss-tests
62- tar -xzf /tmp/downloaded_coverage/coverage/kibana-oss-tests/kibana-coverage.tar.gz -C /tmp/extracted_coverage
63- echo extracting kibana-xpack-tests
64- tar -xzf /tmp/downloaded_coverage/coverage/kibana-xpack-tests/kibana-coverage.tar.gz -C /tmp/extracted_coverage
65- # replace path in json files to have valid html report
66- pwd=$(pwd)
67- du -sh /tmp/extracted_coverage/target/kibana-coverage/
68- echo replacing path in json files
69- for i in {1..9}; do
70- sed -i "s|/dev/shm/workspace/kibana|$pwd|g" /tmp/extracted_coverage/target/kibana-coverage/functional/${i}*.json &
71- done
72- wait
73- # merge oss & x-pack reports
74- echo merging coverage reports
75- yarn nyc report --temp-dir /tmp/extracted_coverage/target/kibana-coverage/jest --report-dir target/kibana-coverage/jest-combined --reporter=html --reporter=json-summary
76- yarn nyc report --temp-dir /tmp/extracted_coverage/target/kibana-coverage/functional --report-dir target/kibana-coverage/functional-combined --reporter=html --reporter=json-summary
77- echo copy mocha reports
78- mkdir -p target/kibana-coverage/mocha-combined
79- cp -r /tmp/extracted_coverage/target/kibana-coverage/mocha target/kibana-coverage/mocha-combined
80- ''' ,
81- " run `yarn kbn bootstrap && merge coverage`"
82- )
83- sh ' tar -czf kibana-jest-coverage.tar.gz target/kibana-coverage/jest-combined/*'
84- kibanaPipeline. uploadCoverageArtifacts(" coverage/jest-combined" , ' kibana-jest-coverage.tar.gz' )
85- sh ' tar -czf kibana-functional-coverage.tar.gz target/kibana-coverage/functional-combined/*'
86- kibanaPipeline. uploadCoverageArtifacts(" coverage/functional-combined" , ' kibana-functional-coverage.tar.gz' )
87- sh ' tar -czf kibana-mocha-coverage.tar.gz target/kibana-coverage/mocha-combined/*'
88- kibanaPipeline. uploadCoverageArtifacts(" coverage/mocha-combined" , ' kibana-mocha-coverage.tar.gz' )
14+ kibanaCoverage. runTests()
15+ handleIngestion(TIME_STAMP )
8916 }
9017 }
18+ kibanaPipeline. sendMail()
9119 }
92- kibanaPipeline. sendMail()
9320}
21+
22+ def handleIngestion (timestamp ) {
23+ kibanaPipeline. downloadCoverageArtifacts()
24+ kibanaCoverage. prokLinks(" ### Process HTML Links" )
25+ kibanaCoverage. collectVcsInfo(" ### Collect VCS Info" )
26+ kibanaCoverage. ingest(timestamp, ' ### Injest && Upload' )
27+ kibanaCoverage. uploadCoverageStaticSite(timestamp)
28+ }
29+
30+
0 commit comments