@@ -52,7 +52,15 @@ variables:
52
52
git submodule update --init
53
53
54
54
.get_release_name : &get_release_name |
55
- REL_VERSION=$(git describe --tags | sed -n -r "s|${CI_PROJECT_NAME}-(.*)|\1|gp")
55
+ PREFX=${CI_PROJECT_NAME}
56
+ tmpVER=$( tmpTAG=$(git describe --tags | grep -E "^v[0-9]") && ( echo $tmpTAG | sed -n -r "s|^v(.*)|\1|gp" ) || echo "" )
57
+ if [ ! $tmpVER ]; then
58
+ tmpVER=$( tmpTAG=$(git describe --tags | grep -E "^${PREFX}-") && ( echo $tmpTAG | sed -n -r "s|^${PREFX}-(.*)|\1|gp" ) || echo "" )
59
+ if [ ! $tmpVER ]; then
60
+ echo "There is not a correct tag"; exit 1
61
+ fi
62
+ fi
63
+ REL_VERSION=$tmpVER
56
64
REL_NAME=${CI_PROJECT_NAME}-${PLATFORM_NAME}-${REL_VERSION}
57
65
ARCHIVE_NAME=${REL_NAME}.${ARCHIVE_EXT}
58
66
echo "PLATFORM_NAME : $PLATFORM_NAME"
@@ -89,16 +97,22 @@ variables:
89
97
90
98
.gh_upload_archive : &gh_upload_archive |
91
99
ARCHIVE_NAME=$(cat ${DIST_ART_DIR}/dist_name_${PLATFORM_NAME})
100
+ echo Release ${GH_REL_TAG}, file ${ARCHIVE_NAME}
92
101
${GH_TOOL} upload -s ${GITHUB_TOKEN} --tag ${GH_REL_TAG} -f ${DIST_ART_DIR}/${ARCHIVE_NAME} -n ${ARCHIVE_NAME}
93
102
94
- .release_tag_filter : &release_tag_filter /^openocd-esp32-.*$/
103
+ # prefix should be like a $CI_PROJECT_NAME, but we cannot use variable here
104
+ .release_tag_filter : &release_tag_filter
105
+ only :
106
+ - /^v[0-9].*$/
107
+ - /^openocd-esp32-.*$/
95
108
96
109
.release_submit_action : &release_submit_action
97
110
when : manual
98
111
allow_failure : true
99
112
100
113
before_script :
101
114
- set -o errexit; set -o pipefail; set -o nounset
115
+ - test ${DEBUG_SHELL:-""} && set -x
102
116
103
117
build_linux :
104
118
stage : build
@@ -118,7 +132,7 @@ build_linux:
118
132
- ./bootstrap
119
133
- ./configure --prefix=$PWD/$DIST_INSTALLED_DIR $OPENOCD_CONFIGURE_OPTS
120
134
- make
121
- - make install-strip
135
+ - MAKEFLAGS= make install-strip
122
136
- *dist_archive
123
137
124
138
build_windows :
@@ -154,7 +168,7 @@ build_windows:
154
168
- ./bootstrap
155
169
- ./configure --prefix=$PWD/$DIST_INSTALLED_DIR --host=i686-w64-mingw32 $OPENOCD_CONFIGURE_OPTS
156
170
- make
157
- - make install-strip
171
+ - MAKEFLAGS= make install-strip
158
172
- cp /usr/i686-w64-mingw32/lib/libwinpthread-1.dll $DIST_INSTALLED_DIR/bin/
159
173
- *dist_archive
160
174
@@ -205,7 +219,7 @@ build_macos:
205
219
- ./bootstrap
206
220
- ./configure --prefix=$PWD/$DIST_INSTALLED_DIR --host=x86_64-apple-darwin12 $OPENOCD_CONFIGURE_OPTS LDFLAGS="-Wl,-framework,CoreFoundation -Wl,-framework,IOKit" CC=x86_64-apple-darwin12-cc
207
221
- make
208
- - make install-strip
222
+ - MAKEFLAGS= make install-strip
209
223
- *dist_archive
210
224
211
225
build_test_app :
@@ -281,9 +295,7 @@ push_master_to_github:
281
295
282
296
get_gh_tools :
283
297
stage : test
284
- only :
285
- - *release_tag_filter
286
- # - master
298
+ << : *release_tag_filter
287
299
artifacts :
288
300
paths :
289
301
- ${DIST_ART_DIR}
@@ -296,13 +308,11 @@ get_gh_tools:
296
308
297
309
release_tag_draft :
298
310
stage : release_stage1
299
- only :
300
- - *release_tag_filter
311
+ << : *release_tag_filter
301
312
when : on_success
302
313
script :
303
314
- *add_gh_key_remote
304
- - git push github ${CI_COMMIT_TAG}
305
- # INFO you could use "git push --force github refs/tags/${CI_COMMIT_TAG}:refs/tags/${CI_COMMIT_TAG}"
315
+ - git push github --force ${CI_COMMIT_TAG}
306
316
# release draft
307
317
- ${GH_TOOL} delete -s ${GITHUB_TOKEN} --tag ${CI_COMMIT_TAG} || true
308
318
- ${GH_TOOL} release -s ${GITHUB_TOKEN} --tag ${CI_COMMIT_TAG} --description "${RELEASE_DESC}" --draft
@@ -315,40 +325,9 @@ release_tag_draft:
315
325
- PLATFORM_NAME="macos"
316
326
- *gh_upload_archive
317
327
318
- .release_master_auto :
319
- stage : release_submit
320
- only :
321
- - master
322
- when : on_success
323
- script :
324
- - GH_REL_TAG=$(git describe --tags)
325
- - ${GH_TOOL} delete -s ${GITHUB_TOKEN} --tag ${GH_REL_TAG} || true
326
- - ${GH_TOOL} release -s ${GITHUB_TOKEN} --tag ${GH_REL_TAG} --target ${CI_COMMIT_SHA} --description "Auto-generated release" --pre-release
327
- # Upload archives
328
- - PLATFORM_NAME="linux64"
329
- - *gh_upload_archive
330
- - PLATFORM_NAME="win32"
331
- - *gh_upload_archive
332
- - PLATFORM_NAME="macos"
333
- - *gh_upload_archive
334
-
335
- Delete_master_release :
336
- stage : release_submit
337
- only :
338
- - master
339
- << : *release_submit_action
340
- dependencies :
341
- - get_gh_tools
342
- variables :
343
- GIT_STRATEGY : none
344
- script :
345
- - GH_REL_TAG=$(git describe --tags)
346
- - ${GH_TOOL} delete -s ${GITHUB_TOKEN} --tag ${GH_REL_TAG} || true
347
-
348
328
Release_tag_submit :
349
329
stage : release_submit
350
- only :
351
- - *release_tag_filter
330
+ << : *release_tag_filter
352
331
<< : *release_submit_action
353
332
dependencies :
354
333
- get_gh_tools
@@ -359,8 +338,7 @@ Release_tag_submit:
359
338
360
339
Pre-Release_tag_submit :
361
340
stage : release_submit
362
- only :
363
- - *release_tag_filter
341
+ << : *release_tag_filter
364
342
<< : *release_submit_action
365
343
dependencies :
366
344
- get_gh_tools
@@ -371,8 +349,7 @@ Pre-Release_tag_submit:
371
349
372
350
Delete_tag_release :
373
351
stage : release_submit
374
- only :
375
- - *release_tag_filter
352
+ << : *release_tag_filter
376
353
<< : *release_submit_action
377
354
dependencies :
378
355
- get_gh_tools
0 commit comments