Skip to content

Commit 0369843

Browse files
committed
esp/ci: Use 'hub' tool instead of 'github-release' for releases on GitHub
1 parent 26cd550 commit 0369843

File tree

1 file changed

+25
-58
lines changed

1 file changed

+25
-58
lines changed

.gitlab-ci.yml

Lines changed: 25 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,6 @@ variables:
4040
DIST_INSTALLED_DIR: "${CI_PROJECT_NAME}"
4141
ARCHIVE_TOOL: "tar czf"
4242
ARCHIVE_EXT: "tar.gz"
43-
GH_TOOL_NAME: github-release
44-
GH_TOOL: "./${DIST_ART_DIR}/${GH_TOOL_NAME}"
4543
RELEASE_DESC: "New release"
4644

4745
#
@@ -61,25 +59,24 @@ variables:
6159
git remote remove github || true
6260
git remote add github ${GH_PUSH_REPO}
6361

64-
.gh_getting_tool: &gh_getting_tool |
65-
# do not download if it was installed locally
66-
LOCAL_TOOL_PATH=$(command -v ${GH_TOOL_NAME}) && cp ${LOCAL_TOOL_PATH} . || wget --no-verbose -O $GH_TOOL_NAME $GH_TOOL_URL
67-
chmod +x ./$GH_TOOL_NAME
68-
69-
.gh_upload_archive: &gh_upload_archive |
70-
ARCHIVE_NAME=$(cat ${DIST_ART_DIR}/dist_name_${PLATFORM_NAME})
71-
echo Release ${GH_REL_TAG}, file ${ARCHIVE_NAME}
72-
${GH_TOOL} upload -s ${GITHUB_TOKEN} --tag ${GH_REL_TAG} -f ${DIST_ART_DIR}/${ARCHIVE_NAME} -n ${ARCHIVE_NAME}
73-
7462
# prefix should be like a $CI_PROJECT_NAME, but we cannot use variable here
7563
.release_tag_filter: &release_tag_filter
7664
only:
7765
- /^v[0-9].*$/
7866
- /^openocd-esp32-.*$/
7967

8068
.release_submit_action: &release_submit_action
69+
image: espressif/github-hub:2
8170
when: manual
8271
allow_failure: true
72+
before_script:
73+
- set -o errexit; set -o pipefail; set -o nounset
74+
- test "${DEBUG_SHELL:-''}" = "1" && set -x
75+
- git remote remove github || true
76+
- git remote add github ${GH_REPO_HTTPS}
77+
variables:
78+
GIT_STRATEGY: fetch
79+
GH_REL_TAG: ${CI_COMMIT_TAG}
8380

8481
before_script:
8582
- set -o errexit; set -o pipefail; set -o nounset
@@ -119,76 +116,46 @@ push_master_to_github:
119116
- *add_gh_key_remote
120117
- git push github HEAD:master
121118

122-
get_gh_tools:
123-
stage: test
124-
<<: *release_tag_filter
125-
artifacts:
126-
paths:
127-
- ${DIST_ART_DIR}
128-
variables:
129-
GIT_STRATEGY: none
130-
script:
131-
- *gh_getting_tool
132-
- mkdir -p ${DIST_ART_DIR}
133-
- mv ${GH_TOOL_NAME} ${DIST_ART_DIR}/
134-
135119
release_tag_draft:
136120
stage: release_stage1
121+
tags: [ "amd64", "internet" ]
137122
<<: *release_tag_filter
138-
when: on_success
123+
<<: *release_submit_action
139124
script:
140-
- *add_gh_key_remote
141-
- git push github --force ${CI_COMMIT_TAG}
125+
- hub release delete ${GH_REL_TAG} || true
142126
# release draft
143-
- ${GH_TOOL} delete -s ${GITHUB_TOKEN} --tag ${CI_COMMIT_TAG} || true
144-
- ${GH_TOOL} release -s ${GITHUB_TOKEN} --tag ${CI_COMMIT_TAG} --description "${RELEASE_DESC}" --draft
145-
- GH_REL_TAG=${CI_COMMIT_TAG}
127+
- hub release create --draft -m "${RELEASE_DESC}" ${GH_REL_TAG}
128+
# List of archives
129+
- DIST_DIR=dist
130+
- FILES=$(find ${DIST_DIR} -name dist_name_\* -exec cat {} \+)
131+
- cd ${DIST_DIR}
132+
- ls -l $FILES
146133
# Upload archives
147-
- PLATFORM_NAME="linux-amd64"
148-
- *gh_upload_archive
149-
- PLATFORM_NAME="linux-armel"
150-
- *gh_upload_archive
151-
- PLATFORM_NAME="linux-armhf"
152-
- *gh_upload_archive
153-
- PLATFORM_NAME="linux-arm64"
154-
- *gh_upload_archive
155-
- PLATFORM_NAME="win32"
156-
- *gh_upload_archive
157-
- PLATFORM_NAME="macos"
158-
- *gh_upload_archive
134+
- for n in ${FILES}; do hub release edit -m "" -a "${n}" "${GH_REL_TAG}"; done
159135

160136
Release_tag_submit:
161137
stage: release_submit
138+
tags: [ "amd64", "internet" ]
162139
<<: *release_tag_filter
163140
<<: *release_submit_action
164-
dependencies:
165-
- get_gh_tools
166-
variables:
167-
GIT_STRATEGY: none
168141
script:
169-
- ${GH_TOOL} edit -s ${GITHUB_TOKEN} --tag ${CI_COMMIT_TAG} --description "${RELEASE_DESC}"
142+
- hub release create -m "${RELEASE_DESC}" ${GH_REL_TAG}
170143

171144
Pre-Release_tag_submit:
172145
stage: release_submit
146+
tags: [ "amd64", "internet" ]
173147
<<: *release_tag_filter
174148
<<: *release_submit_action
175-
dependencies:
176-
- get_gh_tools
177-
variables:
178-
GIT_STRATEGY: none
179149
script:
180-
- ${GH_TOOL} edit -s ${GITHUB_TOKEN} --tag ${CI_COMMIT_TAG} --description "${RELEASE_DESC}" --pre-release
150+
- hub release create --prerelease -m "${RELEASE_DESC}" ${GH_REL_TAG}
181151

182152
Delete_tag_release:
183153
stage: release_submit
154+
tags: [ "amd64", "internet" ]
184155
<<: *release_tag_filter
185156
<<: *release_submit_action
186-
dependencies:
187-
- get_gh_tools
188-
variables:
189-
GIT_STRATEGY: none
190157
script:
191-
- ${GH_TOOL} delete -s ${GITHUB_TOKEN} --tag ${CI_COMMIT_TAG} || true
158+
- hub release delete ${GH_REL_TAG}
192159

193160
.use_ci_tools: &use_ci_tools |
194161
curl -sSL ${CIT_LOADER_URL} -o cit_loader.sh && sh cit_loader.sh

0 commit comments

Comments
 (0)