You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: package/README.md
+74-22Lines changed: 74 additions & 22 deletions
Original file line number
Diff line number
Diff line change
@@ -41,9 +41,9 @@ The purpose of the release process is to generate the following outputs from the
41
41
42
42
* Github Release for esp8266/Arduino project. This is used to host the boards manager package mentioned above, and also contains the release notes.
43
43
44
-
Here is an overview of the release process. See the section below for detailed instructions.
44
+
Here is a rough overview of the effective release process. See the section below for detailed instructions.
45
45
46
-
1. Release process starts when a maintainer pushes a tag into the repository.
46
+
1. Release process effectively starts when a maintainer pushes a tag into the repository.
47
47
48
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`.
49
49
@@ -65,9 +65,11 @@ Here is an overview of the release process. See the section below for detailed i
65
65
66
66
## Creating a release (for maintainers)
67
67
68
-
0.Open a new issue to track activities, which will be closed after the release is done.
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.
69
69
70
-
1. Assemble release notes.
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.
71
+
72
+
3. Assemble release notes.
71
73
72
74
* Since most changes are integrated into master using squash-rebase policy (i.e. one commit per PR), `git log --oneline` gives a good overview of changes in the release.
73
75
@@ -99,22 +101,24 @@ Here is an overview of the release process. See the section below for detailed i
99
101
100
102
* Not all commit descriptions which come from `git log` will explain changes well. Reword items as necessary, with the goal that a general user of this project should be able to understand what the change is related to. Preserve references to PRs or issues (`#XXXX`).
101
103
102
-
* Don't include fixes for regressions which have been introduced since last release.
103
-
104
104
* Aggregate minor fixes (e.g. typos, small documentation changes) in a few items. Focus on preparing a good overview of the release for the users, rather than mentioning every change.
105
105
106
-
* When done, put release notes into a private Gist and send the link to other maintainers for review.
106
+
* When done, put release notes into a private [Gist](https://gist.github.com) or [firepad](https://demo.firepad.io) and send the link to other maintainers for review.
107
107
108
108
The following points assume work in a direct clone of the repository, and not in a personal fork.
109
109
110
-
2. Make a PR with the following, wait for Travis CI, and merge.
110
+
4. Make a PR with the following, [wait for Travis CI](https://travis-ci.org/github/esp8266/Arduino/builds/), and merge.
111
111
112
-
* platform.txt and package.json: update `version` to the release E.g. `3.0.0`,
112
+
* [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`,
113
113
114
-
* `cores/esp8266/TZ.h`: import the latest database with the following shell command:\
114
+
* [cores/esp8266/TZ.h](https://github.com/esp8266/Arduino/blob/master/cores/esp8266/TZ.h): import the latest database with the following shell command:\
115
115
`$ cd tools; sh TZupdate.sh`.
116
116
117
-
3. 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 candiate 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):
117
+
5. Wait until the release notes have been checked by other maintainers
118
+
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 candiate 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):
118
122
119
123
```
120
124
git tag -a -m "Release 3.0.0" 3.0.0
@@ -128,30 +132,78 @@ The following points assume work in a direct clone of the repository, and not in
128
132
git push origin 3.0.0
129
133
```
130
134
131
-
4. In case something goes wrong, release can be canceled at any time:
135
+
In case something goes wrong, release can be canceled at any time:
132
136
133
137
* Tag must be removed (`git tag -d X.Y.Z; git push --delete origin X.Y.Z`)
134
138
135
139
* Release must be deleted: github > releases > edit x.y.z > remove all files > delete button appears
136
140
137
-
5. Wait for Travis CI build for the tag to pass, see https://travis-ci.org/esp8266/Arduino/builds,
141
+
8. Wait for Travis CI build for the tag to pass, see https://travis-ci.org/esp8266/Arduino/builds,
138
142
139
-
return to the Travis CI options and disable `Build pushed branches`.
140
143
141
-
6. Check that the new (draft) release has been created (no editing at this point!), see https://github.com/esp8266/Arduino/releases. Check that the boards manager package .zip file has been successfully uploaded as a release artifact.
144
+
9. Check that the new (draft) release has been created (no editing at this point!), see https://github.com/esp8266/Arduino/releases.
142
145
143
-
7. 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).
146
+
10. Check that the boards manager package .zip file has been successfully uploaded as a release artifact.
144
147
145
-
8. 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.
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).
146
149
147
-
9. 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.
150
+
12. Return to the [Travis CI options](https://travis-ci.org/esp8266/Arduino/settings) and disable `Build pushed branches`.
148
151
149
-
10. 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.
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.
150
153
151
-
11. Create a commit to the master branch, updating:
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)
155
+
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.
157
+
158
+
16. Create a commit to the master branch, updating:
152
159
153
160
* 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`.
154
161
155
-
* In main README.md:
162
+
* In main README.md go to "Latest release" section, change version number in the readthedocs link to the version which was just released, and verify that all links work.
163
+
164
+
165
+
## Checklist helper, copy-paste into Release Process issue
166
+
```
167
+
--------------COPY BELOW THIS LINE--------------
168
+
[Reference](https://github.com/esp8266/Arduino/tree/master/package#creating-a-release-for-maintainers) for details.
169
+
170
+
-[ ]1. Open a new issue to track activities.
171
+
172
+
-[ ]2. Make sure that no issues or PRs are assigned to the milestone to be released.
173
+
174
+
-[ ]3. Assemble release notes.
175
+
176
+
-[ ]4. Make a PR with the following, [wait for Travis CI](https://travis-ci.org/github/esp8266/Arduino/builds/), and merge.
- in "Latest release" section, change version number in the readthedocs link to the version which was just released, and verify that all links work.
182
+
-[ ]5. Wait until the release notes have been checked by other maintainers
183
+
184
+
-[ ]6. Navigate to [Travis CI options](https://travis-ci.org/esp8266/Arduino/settings), enable ´Build pushed branches´ (before tagging in next step)
185
+
186
+
-[ ]7. Tag the latest commit on the master branch, then push it to esp8266/Arduino
187
+
188
+
-[ ]8. Wait for Travis CI build for the tag to pass, see https://travis-ci.org/esp8266/Arduino/builds,
189
+
190
+
-[ ]9. Check that the new (draft) release has been created (no editing at this point!), see https://github.com/esp8266/Arduino/releases.
191
+
192
+
-[ ]10. Check that the boards manager package .zip file has been successfully uploaded as a release artifact.
193
+
194
+
-[ ]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).
195
+
196
+
-[ ]12. Return to the [Travis CI options](https://travis-ci.org/esp8266/Arduino/settings) and disable `Build pushed branches`.
197
+
198
+
-[ ]13. Navigate to [release list in Github](https://github.com/esp8266/Arduino/releases), press "Edit" button to edit release description, paste release notes, and publish it.
199
+
200
+
-[ ]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)
201
+
202
+
-[ ]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.
203
+
204
+
-[ ]16. Create a commit to the master branch, updating:
205
+
206
+
* 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`.
207
+
* In main README.md go to "Latest release" section, change version number in the readthedocs link to the version which was just released, and verify that all links work.
0 commit comments