1616 username : ((docker-registry-username))
1717 password : ((docker-registry-password))
1818
19- tests :
20- cmd : bash
21- args :
22- - -c
23- - |
24- set -ueo pipefail -x
25-
26- failure="false"
27-
28- version_family="1.1.1"
29- old_version="1.1.1j"
30-
31- latest_version_json=$(
32- /opt/resource/in <<EOF
33- { "source": { "family": "${version_family}" } }
34- EOF
35- )
36- latest_version=$(jq --raw-output '.version.version' <<< "${latest_version_json}")
37-
38- if [[ ${latest_version} == ${version_family}* ]]; then
39- echo >&2 "FAIL: expected version to start with '${version_family}', but got '${latest_version}'."
40- failure="true"
41- fi
42-
43- mkdir "old"
44- /opt/resource/check "old" <<EOF
45- { "version": { "version": "${old_version}" },
46- "source": { "family": "${version_family}" }
47- }
48- EOF
49-
50- if [[ ! -f "old/openssl-${old_version}.tar.gz" ]]; then
51- >&2 echo "FAIL: expected to found a 'openssl-${old_version}.tar.gz' tarball, but got:"
52- >&2 ls -la "old/"
53- failure="true"
54- fi
55-
56- if [[ ! -s "old/openssl-${old_version}.tar.gz" ]]; then
57- echo >&2 "FAIL: expected tarball not to be empty, but it's of 0 size."
58- >&2 ls -la "old/"
59- failure="true"
60- fi
61-
62- mkdir "current"
63- /opt/resource/check "current" <<EOF
64- { ${latest_version_json},
65- "source": { "family": "${version_family}" }
66- }
67- EOF
68-
69- if [[ ! -f "current/openssl-${latest_version}.tar.gz" ]]; then
70- >&2 echo "FAIL: expected to found a 'openssl-${latest_version}.tar.gz' tarball, but got:"
71- >&2 ls -la "current/"
72- failure="true"
73- fi
74-
75- if [[ ! -s "current/openssl-${latest_version}.tar.gz" ]]; then
76- echo >&2 "FAIL: expected tarball not to be empty, but it's of 0 size."
77- >&2 ls -la "current/"
78- failure="true"
79- fi
80-
81- if [[ ${failure} == true ]]; then
82- exit 1
83- fi
84- exit 0
85-
8619 dockerhub :
87- email : (( prune ))
8820 username : ((docker-registry-username))
8921 password : ((docker-registry-password))
9022 repository : (( concat "harbor.ci.gstack.io/gstack/" meta.name ))
@@ -109,24 +41,99 @@ meta:
10941 channel : " #pipelines-notifications"
11042 test_fail_msg : ' (( concat ":concourse-fail: <" meta.url "/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME| Failed " meta.name " tests! Click for details.>" ))'
11143
44+ groups :
45+ - name : (( grab meta.name ))
46+ jobs :
47+ - (( delete "major" ))
48+ - (( delete "minor" ))
49+ - (( append ))
50+ - test
51+ - name : version
52+ jobs :
53+ - major
54+ - minor
55+
11256jobs :
11357
11458 - name : test
115- public : true
11659 serial : true
11760 plan :
11861 - in_parallel :
119- - { get: edge, passed: [build], trigger: true }
120- - { get: source , passed: [build] }
62+ - { get: edge, passed: [ build ], trigger: true }
63+ - { get: git , passed: [ build ] }
12164 - task : test-image
12265 image : edge
12366 config :
12467 platform : linux
12568 inputs :
126- - name : source
69+ - name : git
12770 run :
128- path : (( grab meta.tests.cmd ))
129- args : (( grab meta.tests.args ))
71+ path : bash
72+ args :
73+ - -c
74+ - |
75+ set -ueo pipefail -x
76+
77+ failure="false"
78+
79+ version_family="1.1.1"
80+ old_version="1.1.1j"
81+
82+ latest_version_json=$(
83+ /opt/resource/check <<EOF
84+ { "source": { "family": "${version_family}" } }
85+ EOF
86+ )
87+ latest_version=$(jq --raw-output '.[0].version' <<< "${latest_version_json}")
88+
89+ if [[ ${latest_version} == ${version_family}* ]]; then
90+ echo >&2 "FAIL: expected version to start with '${version_family}', but got '${latest_version}'."
91+ failure="true"
92+ fi
93+
94+ mkdir "old"
95+ /opt/resource/in "old" <<EOF
96+ { "version": { "version": "${old_version}" },
97+ "source": { "family": "${version_family}" }
98+ }
99+ EOF
100+
101+ if [[ ! -f "old/openssl-${old_version}.tar.gz" ]]; then
102+ >&2 echo "FAIL: expected to found a 'openssl-${old_version}.tar.gz' tarball, but got:"
103+ >&2 ls -la "old/"
104+ failure="true"
105+ fi
106+
107+ if [[ ! -s "old/openssl-${old_version}.tar.gz" ]]; then
108+ echo >&2 "FAIL: expected tarball not to be empty, but it's of 0 size."
109+ >&2 ls -la "old/"
110+ failure="true"
111+ fi
112+
113+ mkdir "current"
114+ /opt/resource/in "current" <<EOF
115+ { ${latest_version_json},
116+ "source": { "family": "${version_family}" }
117+ }
118+ EOF
119+
120+ if [[ ! -f "current/openssl-${latest_version}.tar.gz" ]]; then
121+ >&2 echo "FAIL: expected to found a 'openssl-${latest_version}.tar.gz' tarball, but got:"
122+ >&2 ls -la "current/"
123+ failure="true"
124+ fi
125+
126+ if [[ ! -s "current/openssl-${latest_version}.tar.gz" ]]; then
127+ echo >&2 "FAIL: expected tarball not to be empty, but it's of 0 size."
128+ >&2 ls -la "current/"
129+ failure="true"
130+ fi
131+
132+ if [[ ${failure} == true ]]; then
133+ exit 1
134+ fi
135+ exit 0
136+
130137 on_failure :
131138 put : notify
132139 params :
@@ -135,6 +142,14 @@ jobs:
135142 icon_url : (( grab meta.slack.icon ))
136143 text : (( grab meta.slack.test_fail_msg ))
137144
145+ - name : promote
146+ plan :
147+ - (( inline ))
148+ - in_parallel :
149+ - (( merge on get ))
150+ - { get: edge, passed: [ (( replace )), test ] }
151+ - { get: git, passed: [ (( replace )), test ] }
152+
138153resources :
139154
140155 - name : version
0 commit comments