Skip to content

Commit 52be27d

Browse files
authored
Release process fix #2 (#8127)
* release script: fix variable name error * Release process in README is decribed twice. Syncing the two walk-throughs. * adding ARDUINO_ESP8266_VERSION reflecting exactly what's passed to `makecorever.py -v` * remove "unix-" in version name (which was present even for windows but never used)
1 parent 2897679 commit 52be27d

File tree

4 files changed

+20
-26
lines changed

4 files changed

+20
-26
lines changed

package/README.md

+16-23
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Here is a rough overview of the effective release process. See the section below
4545

4646
1. Release process effectively starts when a maintainer pushes a tag into the repository.
4747

48-
2. Travis CI runs a build for this tag, and one of the jobs (with `BUILD_TYPE=package`) is used to prepare the boards manager package. This job runs `build_boards_manager_package.sh`.
48+
2. CI runs a build for this tag, and one of the jobs is used to prepare the boards manager package. This job runs `build_boards_manager_package.sh`.
4949

5050
3. `build_boards_manager_package.sh` does a few things to build the boards manager package (.zip) file and the json index:
5151

@@ -54,9 +54,9 @@ Here is a rough overview of the effective release process. See the section below
5454
* Generate package index for the new release.
5555
* Combines new release with previous releases in one json file (using `merge_packages.py` script).
5656

57-
4. Travis CI uploads boards manager package (.zip file) and package index (.json file) to Github Releases, creating a draft release at the same time.
57+
4. CI uploads boards manager package (.zip file) and package index (.json file) to Github Releases, creating a draft release at the same time.
5858

59-
5. Travis CI also uploads package index .json file to `https://arduino.esp8266.com/stable/package_esp8266_index.json`, i.e. well-known URL used by most users.
59+
5. CI also uploads package index .json file to `https://arduino.esp8266.com/stable/package_esp8266_index.json`, i.e. well-known URL used by most users.
6060

6161
6. When the draft release is created, maintainer edits release description and inserts changelog into the description field, unmarks the release as draft, and publishes the release.
6262

@@ -65,9 +65,9 @@ Here is a rough overview of the effective release process. See the section below
6565

6666
## Creating a release (for maintainers)
6767

68-
1. [Open a new issue](https://github.com/esp8266/Arduino/issues/new/choose) to track activities, which will be closed after the release is done. Copy the checklist below into it, and check the steps one by one as they get completed.
68+
1. Make sure that no issues or PRs are assigned to the milestone to be released. If there are any Issues/PRs assigned to the relevant milestone, they should either be addressed, pushed back to a future milestone, or closed.
6969

70-
2. Make sure that no issues or PRs are assigned to the milestone to be released. If there are any Issues/PRs assigned to the relevant milestone, they should either be addressed, pushed back to a future milestone, or closed.
70+
2. Open a new issue to track activities, which will be closed after the release is done. Copy the checklist below into it, and check the steps one by one as they get completed.
7171

7272
3. Assemble release notes.
7373

@@ -107,7 +107,7 @@ Here is a rough overview of the effective release process. See the section below
107107
108108
The following points assume work in a direct clone of the repository, and not in a personal fork.
109109
110-
4. Make a PR with the following, [wait for Travis CI](https://travis-ci.org/github/esp8266/Arduino/builds/), and merge.
110+
4. Make a PR with the following, wait for CI, and merge.
111111
112112
* [platform.txt](https://github.com/esp8266/Arduino/blob/master/platform.txt) and [package.json](https://github.com/esp8266/Arduino/blob/master/package.json): update `version` to the release E.g. `3.0.0`,
113113
@@ -116,17 +116,13 @@ The following points assume work in a direct clone of the repository, and not in
116116
117117
5. Wait until the release notes have been checked by other maintainers
118118
119-
6. Navigate to [Travis CI options](https://travis-ci.org/esp8266/Arduino/settings), enable ´Build pushed branches´ (before tagging in next step)
120-
121-
7. Tag the latest commit on the master branch. In this project, tags have form `X.Y.Z`, e.g. `3.0.0`, or `X.Y.Z-betaN` for release candidate versions. Notice that there's no `v`at the beginning of the tag. Tags must be annotated, not lightweight tags. To create a tag, use git command (assuming that the master branch is checked out):
119+
6. Tag the latest commit on the master branch. In this project, tags have form `X.Y.Z`, e.g. `3.0.0`, or `X.Y.Z-betaN` for release candidate versions. Notice that there's no `v`at the beginning of the tag. Tags must be annotated, not lightweight tags. To create a tag, use git command (assuming that the master branch is checked out):
122120
123121
```
124122
git tag -a -m "Release 3.0.0" 3.0.0
125123
```
126124
127-
navigate to [Travis CI options](https://travis-ci.org/esp8266/Arduino/settings), enable `Build pushed branches`,
128-
129-
then push the tag created above to esp8266/Arduino Github repository:
125+
push the tag created above to esp8266/Arduino Github repository:
130126
131127
```
132128
git push origin 3.0.0
@@ -138,24 +134,21 @@ The following points assume work in a direct clone of the repository, and not in
138134
139135
* Release must be deleted: github > releases > edit x.y.z > remove all files > delete button appears
140136
141-
8. Wait for Travis CI build for the tag to pass, see https://travis-ci.org/esp8266/Arduino/builds,
142-
143-
144-
9. Check that the new (draft) release has been created (no editing at this point!), see https://github.com/esp8266/Arduino/releases.
137+
7. Wait for CI build to pass
145138
146-
10. Check that the boards manager package .zip file has been successfully uploaded as a release artifact.
139+
8. Check that the new (draft) release has been created (no editing at this point!), see https://github.com/esp8266/Arduino/releases.
147140
148-
11. Check that the package index downloaded from https://arduino.esp8266.com/stable/package_esp8266com_index.json contains an entry for the new version (it may not be the first one).
141+
9. Check that the boards manager package .zip file has been successfully uploaded as a release artifact.
149142
150-
12. Return to the [Travis CI options](https://travis-ci.org/esp8266/Arduino/settings) and disable `Build pushed branches`.
143+
10. Check that the package index downloaded from https://arduino.esp8266.com/stable/package_esp8266com_index.json contains an entry for the new version (it may not be the first one).
151144
152-
13. Navigate to release list in Github here https://github.com/esp8266/Arduino/releases, press "Edit" button to edit release description, paste release notes, and publish it.
145+
11. Navigate to release list in Github here https://github.com/esp8266/Arduino/releases, press "Edit" button to edit release description, paste release notes, and publish it.
153146
154-
14. In the issue tracker, remove "staged-for-release" label for all issues which have it, and close them. Close the milestone associated with the released version (the milestone should be empty per point 2 above)
147+
12. In the issue tracker, remove "staged-for-release" label for all issues which have it, and close them. Close the milestone associated with the released version (the milestone should be empty per point 2 above)
155148
156-
15. Check that https://arduino-esp8266.readthedocs.io/en/latest/ has a new doc build for the new tag, and that "stable" points to that build. If a new build did not trigger, log into readthedoc's home here https://readthedocs.org/ (account must have been added to project as maintainer) and trigger it manually.
149+
13. Check that https://arduino-esp8266.readthedocs.io/en/latest/ has a new doc build for the new tag, and that "stable" points to that build. If a new build did not trigger, log into readthedoc's home here https://readthedocs.org/ (account must have been added to project as maintainer) and trigger it manually.
157150
158-
16. Create a commit to the master branch, updating:
151+
14. Create a commit to the master branch, updating:
159152
160153
* The version in platform.txt and package.json files. This should correspond to the version of the *next* milestone, plus `-dev` suffix. E.g. `3.1.0-dev`.
161154

package/build_boards_manager_package.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ else
2727
echo "release-log-2: ver=${ver} plain_ver=${plain_ver} visiblever=${visiblever}"
2828
fi
2929
visiblever=${ver}
30-
plainver=${ver}
30+
plain_ver=${ver}
3131
echo "release-log-3: ver=${ver} plain_ver=${plain_ver} visiblever=${visiblever}"
3232

3333
# Match 0.0.* as special-case early-access builds

platform.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ compiler.elf2hex.extra_flags=
9898
## needs git
9999
recipe.hooks.sketch.prebuild.pattern="{runtime.tools.python3.path}/python3" "{runtime.tools.signing}" --mode header --publickey "{build.source.path}/public.key" --out "{build.path}/core/Updater_Signing.h"
100100
# This is quite a working hack. This form of prebuild hook, while intuitive, is not explicitly documented.
101-
recipe.hooks.prebuild.pattern="{runtime.tools.python3.path}/python3" "{runtime.tools.makecorever}" --build_path "{build.path}" --platform_path "{runtime.platform.path}" --version "unix-{version}"
101+
recipe.hooks.prebuild.pattern="{runtime.tools.python3.path}/python3" "{runtime.tools.makecorever}" --build_path "{build.path}" --platform_path "{runtime.platform.path}" --version "{version}"
102102

103103
## Build the app.ld linker file
104104
recipe.hooks.linking.prelink.1.pattern="{runtime.tools.python3.path}/python3" "{runtime.tools.mkdir}" -p "{build.path}/ld_h/"

tools/makecorever.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ def git(*args):
5151
pass
5252

5353
text += "#define ARDUINO_ESP8266_GIT_DESC {}\n".format(git_desc)
54+
text += "#define ARDUINO_ESP8266_VERSION {}\n".format(version)
5455
text += "\n"
5556

5657
version_split = version.split(".")
@@ -62,7 +63,7 @@ def git(*args):
6263
text += "#define ARDUINO_ESP8266_REVISION {}\n".format(revision[0])
6364
text += "\n"
6465

65-
# release or dev
66+
# release or dev ?
6667
if release:
6768
text += "#define ARDUINO_ESP8266_RELEASE \"{}\"\n".format(git_desc)
6869
text += "#define ARDUINO_ESP8266_RELEASE_{}\n".format(git_desc.replace("-","_").replace(".","_"))

0 commit comments

Comments
 (0)