Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
srefgeqfeqrfg
arduino-esp32
提交
b14f82b6
A
arduino-esp32
项目概览
srefgeqfeqrfg
/
arduino-esp32
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
arduino-esp32
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
b14f82b6
编写于
7月 16, 2018
作者:
P
pacucha42
提交者:
Me No Dev
7月 16, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Release notes formatting update (#1634)
上级
c830511f
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
72 addition
and
31 deletion
+72
-31
tools/build-release.sh
tools/build-release.sh
+1
-1
tools/deploy.sh
tools/deploy.sh
+71
-30
未找到文件。
tools/build-release.sh
浏览文件 @
b14f82b6
...
...
@@ -315,8 +315,8 @@ set -e
rm
-f
"
$releasesJson
"
echo
" previous Release:
$prev_release
"
echo
" previous (?Pre-)release:
$prev_any_release
"
echo
" previous Pre-release:
$prev_pre_release
"
echo
" previous (any)release:
$prev_any_release
"
# add generated items to JSON package-definition contents
jq_arg
=
".packages[0].platforms[0].version =
\"
$ver
\"
|
\
...
...
tools/deploy.sh
浏览文件 @
b14f82b6
#!/bin/bash
json_escape
()
{
printf
'%s'
"
$1
"
| python
-c
'import json,sys; print(json.dumps(sys.stdin.read()))'
#printf '%s' "$1" | php -r 'echo json_encode(file_get_contents("php://stdin"));'
}
set
-e
#Cmdline options
...
...
@@ -77,6 +83,7 @@ shopt -u nocasematch
# other lines: converted to bullets
# empty lines ignored
# if '* ' found as a first char pair, it's converted to '- ' to keep bulleting unified
echo
echo
Preparing release notes
echo
-----------------------
echo
"Tag's message:"
...
...
@@ -89,14 +96,16 @@ if [ $arrLen > 3 ]; then
ind
=
3
while
[
$ind
-lt
$arrLen
]
;
do
if
[
$ind
-eq
3
]
;
then
releaseNotes
=
"####
${
msgArray
[ind]
}
\\
n"
releaseNotes
=
"####
${
msgArray
[ind]
}
"
releaseNotes+
=
$'
\r\n
'
else
oneLine
=
"
$(
echo
-e
"
${
msgArray
[ind]
}
"
|
sed
-e
's/^[[:space:]]*//'
)
"
if
[
${#
oneLine
}
-gt
0
]
;
then
if
[
"
${
oneLine
:0:2
}
"
==
"* "
]
;
then
oneLine
=
$(
echo
${
oneLine
/\*/-
}
)
;
fi
if
[
"
${
oneLine
:0:2
}
"
!=
"- "
]
;
then
releaseNotes+
=
"- "
;
fi
releaseNotes+
=
"
$oneLine
\\
n"
releaseNotes+
=
"
$oneLine
"
releaseNotes+
=
$'
\r\n
'
#debug output
echo
"
${
oneLine
}
"
...
...
@@ -104,9 +113,9 @@ if [ $arrLen > 3 ]; then
fi
let
ind
=
$ind
+1
done
echo
"<tag's message end>"
else
releaseNotes
=
"#### Release of
$varTagName
\\
n"
releaseNotes
=
"#### Release of
$varTagName
"
releaseNotes+
=
$'
\r\n
'
#debug output
echo
" Release of
$varTagName
"
...
...
@@ -114,11 +123,10 @@ fi
# - list of commits (commits.txt must exit in the output dir)
commitFile
=
$varAssetsDir
/commits.txt
if
[
-
e
"
$commitFile
"
]
;
then
if
[
-
s
"
$commitFile
"
]
;
then
releaseNotes+
=
"
\\
n##### Commits
\\
n"
releaseNotes+
=
$'
\r\n
##### Commits
\r\n
'
#debug output
echo
echo
"Commits:"
...
...
@@ -126,48 +134,86 @@ if [ -e "$commitFile" ]; then
for
next
in
`
cat
$commitFile
`
do
IFS
=
' '
read
-r
commitId commitMsg
<<<
"
$next
"
releaseNotes+
=
"- [
$commitId
](https://github.com/
$varRepoSlug
/commit/
$commitId
)
$commitMsg
\\
n"
commitLine
=
"- [
$commitId
](https://github.com/
$varRepoSlug
/commit/
$commitId
)
$commitMsg
"
echo
"
$commitLine
"
#debug output
echo
" - [
$commitId
](https://github.com/
$varRepoSlug
/commit/
$commitId
)
$commitMsg
"
releaseNotes+
=
"
$commitLine
"
releaseNotes+
=
$'
\r\n
'
done
rm
-f
$commitFile
fi
releaseNotes
=
$(
perl
-pe
's/\r?\n/\\n/'
<<<
${
releaseNotes
}
)
# Check possibly existing release for current tag
echo
"Checking for possible releases of current tag
$varTagName
..."
# (eg build invoked by Create New Release GHUI button -> GH default release pack created immediatelly including default assests)
echo
echo
"Processing GitHub release record for
$varTagName
:"
echo
"-------------------------------------------------"
echo
" - check
$varTagName
possible existence..."
# (eg build invoked by Create New Release GHUI button -> GH default release pack created immediately including default assests)
HTTP_RESPONSE
=
$(
curl
-L
--silent
--write-out
"HTTPSTATUS:%{http_code}"
https://api.github.com/repos/
$varRepoSlug
/releases/tags/
$varTagName
?access_token
=
$varAccessToken
)
if
[
$?
-ne
0
]
;
then
echo
"FAILED:
$?
=> aborting"
;
exit
1
;
fi
HTTP_BODY
=
$(
echo
$HTTP_RESPONSE
|
sed
-e
's/HTTPSTATUS\:.*//g'
)
HTTP_STATUS
=
$(
echo
$HTTP_RESPONSE
|
tr
-d
'\n'
|
sed
-e
's/.*HTTPSTATUS://'
)
echo
"
HTTP server response cod
e:
$HTTP_STATUS
"
echo
"
---> GitHub server HTTP respons
e:
$HTTP_STATUS
"
# if the release exists, append/update recent files to its assets vector
if
[
$HTTP_STATUS
-eq
200
]
;
then
releaseId
=
$(
echo
$HTTP_BODY
| jq
-r
'.id'
)
echo
" -
$varTagName
release found (id
$releaseId
)"
#merge release notes and overwrite pre-release flag. all other attributes remain unchanged
#Merge release notes and overwrite pre-release flag. all other attributes remain unchanged:
# 1. take existing notes from server (added by release creator)
releaseNotesGH
=
$(
echo
$HTTP_BODY
| jq
-r
'.body'
)
releaseNotes
=
"
$releaseNotesGH
\\
n
$releaseNotes
"
echo
" ... updating release notes and pre-release flag"
# - strip possibly trailing CR
if
[
"
${
releaseNotesGH
:
-1
}
"
==
$'
\r
'
]
;
then
releaseNotesTemp
=
"
${
releaseNotesGH
:0:-1
}
"
else
releaseNotesTemp
=
"
$releaseNotesGH
"
fi
# - add CRLF to make relnotes consistent for JSON encoding
releaseNotesTemp+
=
$'
\r\n
'
# 2. #append generated relnotes (usually commit oneliners)
releaseNotes
=
"
$releaseNotesTemp$releaseNotes
"
# 3. JSON-encode whole string for GH API transfer
releaseNotes
=
$(
json_escape
"
$releaseNotes
"
)
# 4. remove extra quotes returned by python (dummy but whatever)
releaseNotes
=
${
releaseNotes
:1:-1
}
#Update current GH release record
echo
" - updating release notes and pre-release flag:"
curlData
=
"{
\"
body
\"
:
\"
$releaseNotes
\"
,
\"
prerelease
\"
:
$varPrerelease
}"
curl
--data
"
$curlData
"
https://api.github.com/repos/
$varRepoSlug
/releases/
$releaseId
?access_token
=
$varAccessToken
echo
" <data.begin>
$curlData
<data.end>"
echo
#echo "DEBUG: curl --data \"$curlData\" https://api.github.com/repos/$varRepoSlug/releases/$releaseId?access_token=$varAccessToken"
curl
--data
"
$curlData
"
https://api.github.com/repos/
$varRepoSlug
/releases/
$releaseId
?access_token
=
$varAccessToken
if
[
$?
-ne
0
]
;
then
echo
"FAILED:
$?
=> aborting"
;
exit
1
;
fi
echo
" -
$varTagName
release record successfully updated"
#... or create a new release record
else
releaseNotes
=
$(
json_escape
"
$releaseNotes
"
)
releaseNotes
=
${
releaseNotes
:1:-1
}
echo
" - release
$varTagName
not found, creating a new record:"
curlData
=
"{
\"
tag_name
\"
:
\"
$varTagName
\"
,
\"
target_commitish
\"
:
\"
master
\"
,
\"
name
\"
:
\"
v
$varTagName
\"
,
\"
body
\"
:
\"
$releaseNotes
\"
,
\"
draft
\"
: false,
\"
prerelease
\"
:
$varPrerelease
}"
echo
" <data.begin>
$curlData
<data.end>"
#echo "DEBUG: curl --data \"${curlData}\" https://api.github.com/repos/${varRepoSlug}/releases?access_token=$varAccessToken | jq -r '.id'"
releaseId
=
$(
curl
--data
"
$curlData
"
https://api.github.com/repos/
$varRepoSlug
/releases?access_token
=
$varAccessToken
| jq
-r
'.id'
)
echo
" - new release created for
$varTagName
(id
$releaseId
)"
if
[
$?
-ne
0
]
;
then
echo
"FAILED:
$?
=> aborting"
;
exit
1
;
fi
echo
" -
$varTagName
release record successfully created (id
$releaseId
)"
fi
# Assets defined by dir contents
...
...
@@ -180,19 +226,19 @@ if [ ! -z $varAssetsDir ]; then
done
fi
echo
echo
varAssets:
$varAssets
#Upload additional assets
if
[
!
-z
$varAssets
]
;
then
echo
echo
"Uploading assets:"
echo
"-----------------"
echo
" Files to upload:"
echo
"
$varAssets
"
echo
curlAuth
=
"Authorization: token
$varAccessToken
"
for
filename
in
$(
echo
$varAssets
|
tr
";"
"
\n
"
)
do
echo
" -
${
filename
}
...
"
echo
" -
${
filename
}
:
"
curl
-X
POST
-sH
"
$curlAuth
"
-H
"Content-Type: application/octet-stream"
--data-binary
@
"
$filename
"
https://uploads.github.com/repos/
$varRepoSlug
/releases/
$releaseId
/assets?name
=
$(
basename
$filename
)
if
[
$?
-ne
0
]
;
then
echo
"FAILED:
$?
=> aborting"
;
exit
1
;
fi
...
...
@@ -203,8 +249,3 @@ if [ ! -z $varAssets ]; then
done
fi
echo
echo
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录