@@ -8,6 +8,7 @@ if [ ! -z "${manualversion}" ]; then
8
8
plain_ver=${ver}
9
9
visiblever=${ver}
10
10
[ -z " ${REMOTE_URL} " ] && REMOTE_URL=https://github.com/esp8266/Arduino/releases/download
11
+ echo " manual version: ver=${ver} plain_ver=${plain_ver} visiblever=${visiblever} "
11
12
12
13
else
13
14
16
17
# Default to draft tag name
17
18
ver=$( basename $( jq -e -r ' .ref' " $GITHUB_EVENT_PATH " ) )
18
19
# If not available, try the publish tag name
19
- if [ " $ver " == " null" ]; then
20
- ver=$( jq -e -r ' .release.tag_name' " $GITHUB_EVENT_PATH " )
20
+ if [ " ${ver} " == " null" ]; then
21
+ ver=$( jq -e -r ' .release.tag_name' " ${GITHUB_EVENT_PATH} " )
22
+ echo " release-log-1: ver=${ver} plain_ver=${plain_ver} visiblever=${visiblever} "
21
23
fi
22
24
# Fall back to the git description OTW (i.e. interactive)
23
- if [ " $ver " == " null" ]; then
25
+ if [ " ${ ver} " == " null" ]; then
24
26
ver=$( git describe --tag)
27
+ echo " release-log-2: ver=${ver} plain_ver=${plain_ver} visiblever=${visiblever} "
25
28
fi
26
- visiblever=$ver
27
- plainver=$ver
29
+ visiblever=${ver}
30
+ plainver=${ver}
31
+ echo " release-log-3: ver=${ver} plain_ver=${plain_ver} visiblever=${visiblever} "
28
32
29
33
# Match 0.0.* as special-case early-access builds
30
34
if [ " ${ver% .* } " = 0.0 ]; then
31
35
git tag -d ${ver}
32
36
ver=` git describe --tag HEAD`
33
37
plain_ver=$ver
38
+ echo " release-log-4: ver=${ver} plain_ver=${plain_ver} visiblever=${visiblever} "
34
39
fi
35
40
fi
36
41
37
42
set -e
38
43
39
- package_name=esp8266-$visiblever
40
- echo " Version: $visiblever ( $ ver )"
41
- echo " Package name: $package_name "
44
+ package_name=esp8266-${ visiblever}
45
+ echo " Version: ${ visiblever} (real: ${ ver} )"
46
+ echo " Package name: ${ package_name} "
42
47
43
48
# Set REMOTE_URL environment variable to the address where the package will be
44
49
# available for download. This gets written into package json file.
45
- if [ -z " $REMOTE_URL " ]; then
50
+ if [ -z " ${ REMOTE_URL} " ]; then
46
51
REMOTE_URL=" http://localhost:8000"
47
52
echo " REMOTE_URL not defined, using default"
48
53
fi
49
- echo " Remote: $REMOTE_URL "
54
+ echo " Remote: ${ REMOTE_URL} "
50
55
51
- if [ -z " $PKG_URL " ]; then
52
- if [ -z " $PKG_URL_PREFIX " ]; then
53
- PKG_URL_PREFIX=" $REMOTE_URL /versions/$visiblever "
56
+ if [ -z " ${ PKG_URL} " ]; then
57
+ if [ -z " ${ PKG_URL_PREFIX} " ]; then
58
+ PKG_URL_PREFIX=" ${ REMOTE_URL} /versions/${ visiblever} "
54
59
fi
55
- PKG_URL=" $PKG_URL_PREFIX / $ package_name .zip"
60
+ PKG_URL=" ${ PKG_URL_PREFIX} / ${ package_name} .zip"
56
61
fi
57
- echo " Package: $PKG_URL "
58
- echo " Docs: $DOC_URL "
62
+ echo " Package: ${ PKG_URL} "
63
+ echo " Docs: ${ DOC_URL} "
59
64
60
65
pushd ..
61
66
# Create directory for the package
62
- outdir=package/versions/$visiblever / $ package_name
63
- srcdir=$PWD
64
- rm -rf package/versions/$visiblever
65
- mkdir -p $outdir
67
+ outdir=package/versions/${ visiblever} / ${ package_name}
68
+ srcdir=${ PWD}
69
+ rm -rf package/versions/${ visiblever}
70
+ mkdir -p ${ outdir}
66
71
67
72
# Some files should be excluded from the package
68
73
cat << EOF > exclude.txt
76
81
# Also include all files which are ignored by git
77
82
git ls-files --other --directory >> exclude.txt
78
83
# Now copy files to $outdir
79
- rsync -a --exclude-from ' exclude.txt' $srcdir / $outdir /
84
+ rsync -a --exclude-from ' exclude.txt' ${ srcdir} / ${ outdir} /
80
85
rm exclude.txt
81
86
82
87
# For compatibility, on OS X we need GNU sed which is usually called 'gsed'
88
93
89
94
# Do some replacements in platform.txt file, which are required because IDE
90
95
# handles tool paths differently when package is installed in hardware folder
91
- cat $srcdir /platform.txt | \
96
+ cat ${ srcdir} /platform.txt | \
92
97
$SED ' s/runtime.tools.xtensa-lx106-elf-gcc.path={runtime.platform.path}\/tools\/xtensa-lx106-elf//g' | \
93
98
$SED ' s/runtime.tools.python3.path=.*//g' | \
94
99
$SED ' s/runtime.tools.esptool.path={runtime.platform.path}\/tools\/esptool//g' | \
@@ -99,54 +104,54 @@ $SED 's/^#tools.esptool.cmd=/tools.esptool.cmd=/g' | \
99
104
$SED ' s/^#tools.esptool.network_cmd=/tools.esptool.network_cmd=/g' | \
100
105
$SED ' s/tools.mkspiffs.path={runtime.platform.path}\/tools\/mkspiffs/tools.mkspiffs.path=\{runtime.tools.mkspiffs.path\}/g' | \
101
106
$SED ' s/recipe.hooks.*makecorever.*//g' | \
102
- $SED " s/version=.*/version=$ver /g" | \
103
- $SED -E " s/name=([a-zA-Z0-9\ -]+).*/name=\1($ver )/g" \
104
- > $outdir /platform.txt
107
+ $SED " s/version=.*/version=${ ver} /g" | \
108
+ $SED -E " s/name=([a-zA-Z0-9\ -]+).*/name=\1(${ ver} )/g" \
109
+ > ${ outdir} /platform.txt
105
110
106
111
# Put core version and short hash of git version into core_version.h
107
- ver_define=` echo $ plain_ver | tr " [:lower:].\055 " " [:upper:]_" `
108
- echo Ver define : $ver_define
109
- echo \ # define ARDUINO_ESP8266_GIT_VER 0x` git rev-parse --short=8 HEAD 2> /dev/null` > $outdir /cores/esp8266/core_version.h
110
- echo \ # define ARDUINO_ESP8266_GIT_DESC ` git describe --tags 2> /dev/null` >> $outdir /cores/esp8266/core_version.h
111
- echo \ # define ARDUINO_ESP8266_RELEASE_$ver_define >> $outdir /cores/esp8266/core_version.h
112
- echo \ # define ARDUINO_ESP8266_RELEASE \" $ver_define \" >> $outdir /cores/esp8266/core_version.h
112
+ ver_define=` echo " ${ plain_ver} " | tr " [:lower:]." " [:upper:]_" `
113
+ echo " ver_define : ${ ver_define} (plain_ver: ${plain_ver} ) "
114
+ echo " #define ARDUINO_ESP8266_GIT_VER 0x` git rev-parse --short=8 HEAD 2> /dev/null` " > ${ outdir} /cores/esp8266/core_version.h
115
+ echo " #define ARDUINO_ESP8266_GIT_DESC ` git describe --tags 2> /dev/null` " >> ${ outdir} /cores/esp8266/core_version.h
116
+ echo " #define ARDUINO_ESP8266_RELEASE_${ ver_define} " >> ${ outdir} /cores/esp8266/core_version.h
117
+ echo " #define ARDUINO_ESP8266_RELEASE \" ${ ver_define} \" " >> ${ outdir} /cores/esp8266/core_version.h
113
118
114
119
# Zip the package
115
- pushd package/versions/$visiblever
116
- echo " Making $package_name .zip"
117
- zip -qr $package_name .zip $package_name
118
- rm -rf $package_name
120
+ pushd package/versions/${ visiblever}
121
+ echo " Making ${ package_name} .zip"
122
+ zip -qr ${ package_name} .zip ${ package_name}
123
+ rm -rf ${ package_name}
119
124
120
125
# Calculate SHA sum and size
121
- sha=` shasum -a 256 $package_name .zip | cut -f 1 -d ' ' `
122
- size=` /bin/ls -l $package_name .zip | awk ' {print $5}' `
123
- echo Size: $size
124
- echo SHA-256: $sha
126
+ sha=` shasum -a 256 ${ package_name} .zip | cut -f 1 -d ' ' `
127
+ size=` /bin/ls -l ${ package_name} .zip | awk ' {print $5}' `
128
+ echo " Size: ${ size} "
129
+ echo " SHA-256: ${ sha} "
125
130
126
131
echo " Making package_esp8266com_index.json"
127
132
128
- jq_arg=" .packages[0].platforms[0].version = \" $visiblever \" | \
129
- .packages[0].platforms[0].url = \" $PKG_URL \" |\
130
- .packages[0].platforms[0].archiveFileName = \" $package_name .zip\" "
133
+ jq_arg=" .packages[0].platforms[0].version = \" ${ visiblever} \" | \
134
+ .packages[0].platforms[0].url = \" ${ PKG_URL} \" |\
135
+ .packages[0].platforms[0].archiveFileName = \" ${ package_name} .zip\" "
131
136
132
- if [ -z " $is_nightly " ]; then
133
- jq_arg=" $jq_arg |\
134
- .packages[0].platforms[0].size = \" $size \" |\
135
- .packages[0].platforms[0].checksum = \" SHA-256:$sha \" "
137
+ if [ -z " ${ is_nightly} " ]; then
138
+ jq_arg=" ${ jq_arg} |\
139
+ .packages[0].platforms[0].size = \" ${ size} \" |\
140
+ .packages[0].platforms[0].checksum = \" SHA-256:${ sha} \" "
136
141
fi
137
142
138
- if [ ! -z " $DOC_URL " ]; then
139
- jq_arg=" $jq_arg |\
140
- .packages[0].platforms[0].help.online = \" $DOC_URL \" "
143
+ if [ ! -z " ${ DOC_URL} " ]; then
144
+ jq_arg=" ${ jq_arg} |\
145
+ .packages[0].platforms[0].help.online = \" ${ DOC_URL} \" "
141
146
fi
142
147
143
- cat $srcdir /package/package_esp8266com_index.template.json | \
144
- jq " $jq_arg " > package_esp8266com_index.json
148
+ cat ${ srcdir} /package/package_esp8266com_index.template.json | \
149
+ jq " ${ jq_arg} " > package_esp8266com_index.json
145
150
146
151
# Use Github API token, if available
147
152
curl_gh_token_arg=()
148
- if [ ! -z " $CI_GITHUB_API_KEY " ]; then
149
- curl_gh_token_arg=(-H " Authorization: token $CI_GITHUB_API_KEY " )
153
+ if [ ! -z " ${ CI_GITHUB_API_KEY} " ]; then
154
+ curl_gh_token_arg=(-H " Authorization: token ${ CI_GITHUB_API_KEY} " )
150
155
fi
151
156
# Get previous release name
152
157
curl --silent " ${curl_gh_token_arg[@]} " https://api.github.com/repos/esp8266/Arduino/releases > releases.json
@@ -157,39 +162,39 @@ prev_any_release=$(jq -r '. | map(select(.draft == false)) | sort_by(.created_at
157
162
# Previous pre-release
158
163
prev_pre_release=$( jq -r ' . | map(select(.draft == false and .prerelease == true)) | sort_by(.created_at | - fromdateiso8601) | .[0].tag_name' releases.json)
159
164
160
- echo " Previous release: $prev_release "
161
- echo " Previous (pre-?)release: $prev_any_release "
162
- echo " Previous pre-release: $prev_pre_release "
165
+ echo " Previous release: ${ prev_release} "
166
+ echo " Previous (pre-?)release: ${ prev_any_release} "
167
+ echo " Previous pre-release: ${ prev_pre_release} "
163
168
164
169
# Make all released versions available in one package (i.e. don't separate stable/staging versions)
165
- base_ver=$prev_any_release
170
+ base_ver=${ prev_any_release}
166
171
167
172
# Download previous release
168
- echo " Downloading base package: $base_ver "
173
+ echo " Downloading base package: ${ base_ver} "
169
174
old_json=package_esp8266com_index_stable.json
170
- curl -L -o $old_json " https://github.com/esp8266/Arduino/releases/download/${base_ver} /package_esp8266com_index.json"
175
+ curl -L -o ${ old_json} " https://github.com/esp8266/Arduino/releases/download/${base_ver} /package_esp8266com_index.json"
171
176
new_json=package_esp8266com_index.json
172
177
173
178
set +e
174
179
# Merge the old and new
175
- python3 ../../merge_packages.py $new_json $ old_json > tmp
180
+ python3 ../../merge_packages.py ${ new_json} ${ old_json} > tmp
176
181
177
182
# additional json to merge (for experimental releases)
178
183
echo " Additional json package files: ${MOREJSONPACKAGES} "
179
184
for json in ${MOREJSONPACKAGES} ; do
180
- if [ ! -z " $json " -a -r " $json " ]; then
181
- echo " - merging $json "
182
- python3 ../../merge_packages.py tmp $json > tmp2
185
+ if [ ! -z " ${ json} " -a -r " ${ json} " ]; then
186
+ echo " - merging ${ json} "
187
+ python3 ../../merge_packages.py tmp ${ json} > tmp2
183
188
mv tmp2 tmp
184
189
fi
185
190
done
186
191
187
192
# drop any obsolete package versions
188
- python3 ../../drop_versions.py - tools 1.20.0-26-gb404fb9 < tmp > tmp2 && mv tmp2 $new_json && rm $old_json tmp
193
+ python3 ../../drop_versions.py - tools 1.20.0-26-gb404fb9 < tmp > tmp2 && mv tmp2 ${ new_json} && rm ${ old_json} tmp
189
194
190
195
# Verify the JSON file can be read, fail if it's not OK
191
196
set -e
192
- cat $new_json | jq empty
197
+ cat ${ new_json} | jq empty
193
198
194
199
popd
195
200
popd
0 commit comments