@@ -25,90 +25,92 @@ def PROMOTE_WITHOUT_VERIFY = !!params.PROMOTE_WITHOUT_VERIFICATION
2525timeout(time : 120 , unit : ' MINUTES' ) {
2626 timestamps {
2727 ansiColor(' xterm' ) {
28- node(workers. label(' l' )) {
29- catchErrors {
30- def VERSION
31- def SNAPSHOT_ID
32- def DESTINATION
33-
34- def scmVars = checkoutEs(ES_BRANCH )
35- def GIT_COMMIT = scmVars. GIT_COMMIT
36- def GIT_COMMIT_SHORT = sh(script : " git rev-parse --short ${ GIT_COMMIT} " , returnStdout : true ). trim()
37-
38- buildArchives(' to-archive' )
39-
40- dir(' to-archive' ) {
41- def now = new Date ()
42- def date = now. format(" yyyyMMdd-HHmmss" )
43-
44- def filesRaw = sh(script : " ls -1" , returnStdout : true ). trim()
45- def files = filesRaw
46- .split(" \n " )
47- .collect { filename ->
48- // Filename examples
49- // elasticsearch-oss-8.0.0-SNAPSHOT-linux-x86_64.tar.gz
50- // elasticsearch-8.0.0-SNAPSHOT-linux-x86_64.tar.gz
51- def parts = filename. replace(" elasticsearch-oss" , " oss" ). split(" -" )
52-
53- VERSION = VERSION ?: parts[1 ]
54- SNAPSHOT_ID = SNAPSHOT_ID ?: " ${ date} _${ GIT_COMMIT_SHORT} "
55- DESTINATION = DESTINATION ?: " ${ VERSION} /archives/${ SNAPSHOT_ID} "
56-
57- return [
58- filename : filename,
59- checksum : filename + ' .sha512' ,
60- url : " https://storage.googleapis.com/kibana-ci-es-snapshots-daily/${ DESTINATION} /${ filename} " . toString(),
61- version : parts[1 ],
62- platform : parts[3 ],
63- architecture : parts[4 ]. split(' \\ .' )[0 ],
64- license : parts[0 ] == ' oss' ? ' oss' : ' default' ,
28+ slackNotifications. onFailure {
29+ node(workers. label(' l' )) {
30+ catchErrors {
31+ def VERSION
32+ def SNAPSHOT_ID
33+ def DESTINATION
34+
35+ def scmVars = checkoutEs(ES_BRANCH )
36+ def GIT_COMMIT = scmVars. GIT_COMMIT
37+ def GIT_COMMIT_SHORT = sh(script : " git rev-parse --short ${ GIT_COMMIT} " , returnStdout : true ). trim()
38+
39+ buildArchives(' to-archive' )
40+
41+ dir(' to-archive' ) {
42+ def now = new Date ()
43+ def date = now. format(" yyyyMMdd-HHmmss" )
44+
45+ def filesRaw = sh(script : " ls -1" , returnStdout : true ). trim()
46+ def files = filesRaw
47+ .split(" \n " )
48+ .collect { filename ->
49+ // Filename examples
50+ // elasticsearch-oss-8.0.0-SNAPSHOT-linux-x86_64.tar.gz
51+ // elasticsearch-8.0.0-SNAPSHOT-linux-x86_64.tar.gz
52+ def parts = filename. replace(" elasticsearch-oss" , " oss" ). split(" -" )
53+
54+ VERSION = VERSION ?: parts[1 ]
55+ SNAPSHOT_ID = SNAPSHOT_ID ?: " ${ date} _${ GIT_COMMIT_SHORT} "
56+ DESTINATION = DESTINATION ?: " ${ VERSION} /archives/${ SNAPSHOT_ID} "
57+
58+ return [
59+ filename : filename,
60+ checksum : filename + ' .sha512' ,
61+ url : " https://storage.googleapis.com/kibana-ci-es-snapshots-daily/${ DESTINATION} /${ filename} " . toString(),
62+ version : parts[1 ],
63+ platform : parts[3 ],
64+ architecture : parts[4 ]. split(' \\ .' )[0 ],
65+ license : parts[0 ] == ' oss' ? ' oss' : ' default' ,
66+ ]
67+ }
68+
69+ sh ' find * -exec bash -c "shasum -a 512 {} > {}.sha512" \\ ;'
70+
71+ def manifest = [
72+ bucket : " kibana-ci-es-snapshots-daily/${ DESTINATION} " . toString(),
73+ branch : ES_BRANCH ,
74+ sha : GIT_COMMIT ,
75+ sha_short : GIT_COMMIT_SHORT ,
76+ version : VERSION ,
77+ generated : now. format(" yyyy-MM-dd'T'HH:mm:ss'Z'" , TimeZone . getTimeZone(" UTC" )),
78+ archives : files,
79+ ]
80+ def manifestJson = toJSON(manifest). toString()
81+ writeFile file : ' manifest.json' , text : manifestJson
82+
83+ upload(DESTINATION , ' *.*' )
84+
85+ sh " cp manifest.json manifest-latest.json"
86+ upload(VERSION , ' manifest-latest.json' )
87+ }
88+
89+ if (PROMOTE_WITHOUT_VERIFY ) {
90+ esSnapshots. promote(VERSION , SNAPSHOT_ID )
91+
92+ emailext(
93+ to : ' build-kibana@elastic.co' ,
94+ subject : " ES snapshot promoted without verification: ${ params.ES_BRANCH} " ,
95+ body : ' ${SCRIPT,template="groovy-html.template"}' ,
96+ mimeType : ' text/html' ,
97+ )
98+ } else {
99+ build(
100+ propagate : false ,
101+ wait : false ,
102+ job : ' elasticsearch+snapshots+verify' ,
103+ parameters : [
104+ string(name : ' branch_specifier' , value : branch_specifier),
105+ string(name : ' SNAPSHOT_VERSION' , value : VERSION ),
106+ string(name : ' SNAPSHOT_ID' , value : SNAPSHOT_ID ),
65107 ]
66- }
67-
68- sh ' find * -exec bash -c "shasum -a 512 {} > {}.sha512" \\ ;'
69-
70- def manifest = [
71- bucket : " kibana-ci-es-snapshots-daily/${ DESTINATION} " . toString(),
72- branch : ES_BRANCH ,
73- sha : GIT_COMMIT ,
74- sha_short : GIT_COMMIT_SHORT ,
75- version : VERSION ,
76- generated : now. format(" yyyy-MM-dd'T'HH:mm:ss'Z'" , TimeZone . getTimeZone(" UTC" )),
77- archives : files,
78- ]
79- def manifestJson = toJSON(manifest). toString()
80- writeFile file : ' manifest.json' , text : manifestJson
81-
82- upload(DESTINATION , ' *.*' )
83-
84- sh " cp manifest.json manifest-latest.json"
85- upload(VERSION , ' manifest-latest.json' )
108+ )
109+ }
86110 }
87111
88- if (PROMOTE_WITHOUT_VERIFY ) {
89- esSnapshots. promote(VERSION , SNAPSHOT_ID )
90-
91- emailext(
92- to : ' build-kibana@elastic.co' ,
93- subject : " ES snapshot promoted without verification: ${ params.ES_BRANCH} " ,
94- body : ' ${SCRIPT,template="groovy-html.template"}' ,
95- mimeType : ' text/html' ,
96- )
97- } else {
98- build(
99- propagate : false ,
100- wait : false ,
101- job : ' elasticsearch+snapshots+verify' ,
102- parameters : [
103- string(name : ' branch_specifier' , value : branch_specifier),
104- string(name : ' SNAPSHOT_VERSION' , value : VERSION ),
105- string(name : ' SNAPSHOT_ID' , value : SNAPSHOT_ID ),
106- ]
107- )
108- }
112+ kibanaPipeline. sendMail()
109113 }
110-
111- kibanaPipeline. sendMail()
112114 }
113115 }
114116 }
0 commit comments