|
1 | 1 | # Release Checklist
|
2 | 2 |
|
3 | 3 | ## Communication
|
4 |
| -- [x] Create a new issue and copy&past this checklist into it (Yeah! First Step done!) |
5 |
| -- [x] Talk to the team: Who should make the release? |
6 |
| -- [x] Announce a "Code-Freeze". No new Pull-Request until the release is done! |
7 |
| -- [x] Checkout if we have MAJOR or MINOR changes. If not we do a PATCH release. |
8 |
| -- [x] The new version will be: `vX.X.Y` |
9 |
| -- [x] Identify open BUGS and add them to the next PATCH milestone (optional). |
10 |
| -- [x] Identify MINOR issues and add them to the next MINOR milestone (optional). |
| 4 | +- [ ] Create a new issue and copy&past this checklist into it (Yeah! First Step done!) |
| 5 | +- [ ] Talk to the team: Who should make the release? |
| 6 | +- [ ] Announce a "Code-Freeze". No new Pull-Request until the release is done! |
| 7 | +- [ ] Checkout if we have MAJOR or MINOR changes. If not we do a PATCH release. |
| 8 | +- [ ] The new version will be: `vX.X.Y` |
| 9 | +- [ ] Identify open BUGS and add them to the next PATCH milestone (optional). |
| 10 | +- [ ] Identify MINOR issues and add them to the next MINOR milestone (optional). |
11 | 11 |
|
12 | 12 | ## Update to the newest version
|
13 |
| -- [x] Update to the current version: `git checkout develop && git pull`. |
14 |
| -- [x] Create a new release branch. (`git checkout -b vX.X.Y develop`) |
| 13 | +- [ ] Update to the current version: `git checkout develop && git pull`. |
| 14 | +- [ ] Create a new release branch. (`git checkout -b vX.X.Y develop`) |
15 | 15 |
|
16 | 16 | ## Build & Test
|
17 |
| -- [x] Update the version number of the library in `package.json` (remove the "SNAPSHOT"). |
18 |
| -- [x] Build the library: `npm prune && rm -rf node_modules && npm install && npm run build && npm run test` |
| 17 | +- [ ] Update the version number of the library in `package.json` (remove the "SNAPSHOT"). |
| 18 | +- [ ] Build the library: `npm prune && rm -rf node_modules && npm install && npm run build && npm run test` |
19 | 19 | - [ ] Open some of the examples in your browser and visually check if it works as expected! (*We need automated tests for this!*)
|
20 | 20 |
|
21 | 21 | ## History
|
22 | 22 | (*THIS IS A LOT OF WORK! WE SHOULD TRY TO automate this in the future!!*)
|
23 | 23 |
|
24 |
| -- [x] Get all commits since the last release: ```git log `git describe --tags --abbrev=0`..HEAD --oneline > .commits.tmp``` |
25 |
| -- [x] Open ".commity.tmp". and remove all commit before the last release. |
26 |
| -- [x] Open every commit in GitHub and move every issue/pull-request to the current milestone. |
27 |
| -- [x] Transfer all Commit-Messages/issues to "HISTORY.md" starting at the button. |
| 24 | +- [ ] Get all commits since the last release: ```git log `git describe --tags --abbrev=0`..HEAD --oneline > .commits.tmp``` |
| 25 | +- [ ] Open ".commity.tmp". and remove all commit before the last release. |
| 26 | +- [ ] Open every commit in GitHub and move every issue/pull-request to the current milestone. |
| 27 | +- [ ] Transfer all Commit-Messages/issues to "HISTORY.md" starting at the button. |
28 | 28 | - Keep the order of the commits. Older commits are lower newers are higher.
|
29 | 29 | - Bug-Fixes start with `FIX #issue:`
|
30 | 30 | - New Features start with `FEAT #issue:`
|
31 | 31 |
|
32 | 32 | ## Commit
|
33 |
| -- [x] Commit the new version: `git commit -am "Release vX.X.Y"` |
34 |
| -- [x] Push the release branch: `git push` |
35 |
| -- [x] Open a Pull-Request for the release-branch to the develop-branch. |
36 |
| -- [x] Wait until somebody of the team looked over your changes and merges the Pull-Request. |
| 33 | +- [ ] Commit the new version: `git commit -am "Release vX.X.Y"` |
| 34 | +- [ ] Push the release branch: `git push` |
| 35 | +- [ ] Open a Pull-Request for the release-branch to the develop-branch. |
| 36 | +- [ ] Wait until somebody of the team looked over your changes and merges the Pull-Request. |
37 | 37 |
|
38 | 38 | ### Update Master
|
39 | 39 | We don't merge the development branch to the master because the master branch is different to the develop-Branch. The master branch has a dist and test folder and does not generate Source-Maps.
|
40 | 40 |
|
41 | 41 | If we would merge the development branch would overwrite this. To solve this we use rebase instead:
|
42 | 42 |
|
43 |
| -- [x] Update: `git fetch && git checkout develop && git pull` |
44 |
| -- [x] Rebase the `master` branch on the `develop` branch: `git checkout master && git rebase develop` |
45 |
| -- [x] Generate new dist files: `npm prune && rm -rf node_modules && npm install && npm run build && npm run test && git commit -am "generated dist files for vX.X.Y" |
46 |
| -- [x] Create a version tag: `git tag "vX.X.Y"` |
47 |
| -- [x] [Remove the protection](https://github.com/almende/vis/settings/branches/master) from `master`. |
48 |
| -- [x] FORCE-Push the branches to github: `git push --force && git push --tag` |
49 |
| -- [x] [Re-Enable branch protection](https://github.com/almende/vis/settings/branches/master) (enable ALL checkboxes) for `master`. |
50 |
| -- [x] Publish with npm: `npm publish` (check [npmjs.com](https://www.npmjs.com/package/vis)) |
| 43 | +- [ ] Update: `git fetch && git checkout develop && git pull` |
| 44 | +- [ ] Rebase the `master` branch on the `develop` branch: `git checkout master && git rebase develop` |
| 45 | +- [ ] Generate new dist files: `npm prune && rm -rf node_modules && npm install && npm run build && npm run test && git commit -am "generated dist files for vX.X.Y" |
| 46 | +- [ ] Create a version tag: `git tag "vX.X.Y"` |
| 47 | +- [ ] [Remove the protection](https://github.com/almende/vis/settings/branches/master) from `master`. |
| 48 | +- [ ] FORCE-Push the branches to github: `git push --force && git push --tag` |
| 49 | +- [ ] [Re-Enable branch protection](https://github.com/almende/vis/settings/branches/master) (enable ALL checkboxes) for `master`. |
| 50 | +- [ ] Publish with npm: `npm publish` (check [npmjs.com](https://www.npmjs.com/package/vis)) |
51 | 51 |
|
52 | 52 | ## Test
|
53 |
| -- [x] Go to a temp directory (e.g. "vis_vX.X.Y"): `cd .. && mkdir vis_vX.X.Y && cd vis_vX.X.Y` |
54 |
| -- [x] Install the library from npm: `npm init -f && npm install vis` |
55 |
| -- [x] Verify if it installs the just released version, and verify if it works: `cd node_modules/vis/ |
56 |
| -- [x] Install the library via bower: `cd ../.. && bower install vis` |
57 |
| -- [x] Verify if it installs the just released version, and verify if it works: `cd bower_components/vis/` |
58 |
| -- [x] Clone the master from github: `cd ../.. && git clone [email protected]:almende/vis.git`. |
59 |
| -- [x] Verify if it installs the just released version, and verify if it works. `cd vis` |
| 53 | +- [ ] Go to a temp directory (e.g. "vis_vX.X.Y"): `cd .. && mkdir vis_vX.X.Y && cd vis_vX.X.Y` |
| 54 | +- [ ] Install the library from npm: `npm init -f && npm install vis` |
| 55 | +- [ ] Verify if it installs the just released version, and verify if it works: `cd node_modules/vis/ |
| 56 | +- [ ] Install the library via bower: `cd ../.. && bower install vis` |
| 57 | +- [ ] Verify if it installs the just released version, and verify if it works: `cd bower_components/vis/` |
| 58 | +- [ ] Clone the master from github: `cd ../.. && git clone [email protected]:almende/vis.git`. |
| 59 | +- [ ] Verify if it installs the just released version, and verify if it works. `cd vis` |
60 | 60 |
|
61 | 61 | ## Update website
|
62 |
| -- [x] update the gh-pages branch: `git checkout gh-pages && git pull && git checkout -b "gh-pages_vX.X.Y"` |
63 |
| -- [x] Copy the `dist` folder from the `master` branch to the `github-pages` branch in another directory, overwriting existing files: `cp -rf ../vis_vX.X.Y/vis/dist .` |
64 |
| -- [x] Copy the `docs` folder from the `master` branch to the `github-pages` branch in another directory, overwriting existing files: `cp -rf ../vis_vX.X.Y/vis/docs .` |
65 |
| -- [x] Copy the `examples` folder from the `master` branch to the `github-pages` branch in another directory, overwriting existing files: `cp -rf ../vis_vX.X.Y/vis/examples .` |
66 |
| -- [x] Check if there are new or updated examples, and update the gallery screenshots accordingly. |
67 |
| -- [x] Update the library version number in the `index.html` page. |
68 |
| -- [x] Update the CDN links at the download section of index.html AND the CDN link at the top. (search-replace all!!) |
69 |
| -- [x] Commit the changes: `git add -A && git commit -m "updates for vX.X.Y"` |
70 |
| -- [x] Push the changes `git push --set-upstream origin gh-pages_vX.X.Y` |
| 62 | +- [ ] update the gh-pages branch: `git checkout gh-pages && git pull && git checkout -b "gh-pages_vX.X.Y"` |
| 63 | +- [ ] Copy the `dist` folder from the `master` branch to the `github-pages` branch in another directory, overwriting existing files: `cp -rf ../vis_vX.X.Y/vis/dist .` |
| 64 | +- [ ] Copy the `docs` folder from the `master` branch to the `github-pages` branch in another directory, overwriting existing files: `cp -rf ../vis_vX.X.Y/vis/docs .` |
| 65 | +- [ ] Copy the `examples` folder from the `master` branch to the `github-pages` branch in another directory, overwriting existing files: `cp -rf ../vis_vX.X.Y/vis/examples .` |
| 66 | +- [ ] Check if there are new or updated examples, and update the gallery screenshots accordingly. |
| 67 | +- [ ] Update the library version number in the `index.html` page. |
| 68 | +- [ ] Update the CDN links at the download section of index.html AND the CDN link at the top. (search-replace all!!) |
| 69 | +- [ ] Commit the changes: `git add -A && git commit -m "updates for vX.X.Y"` |
| 70 | +- [ ] Push the changes `git push --set-upstream origin gh-pages_vX.X.Y` |
71 | 71 |
|
72 | 72 | ## Prepare next version
|
73 |
| -- [x] Switch to the "develop" branch: `git checkout develop`. |
74 |
| -- [x] Change version numbers in "package.json" to a snapshot version `X.X.Z-SNAPSHOT`. |
75 |
| -- [x] Commit and push: `git commit -am "changed version to vX.X.Z-SNAPSHOT"` |
76 |
| -- [x] Create new tag: `git tag vX.X.Z-SNAPSHOT`. |
77 |
| -- [x] [Remove the protection](https://github.com/almende/vis/settings/branches/develop) from `develop`. |
78 |
| -- [x] FORCE-Push the branches to github: `git push --force && git push --tag` |
79 |
| -- [x] [Re-Enable branch protection](https://github.com/almende/vis/settings/branches/develop) (enable ALL checkboxes) for `develop`. |
| 73 | +- [ ] Switch to the "develop" branch: `git checkout develop`. |
| 74 | +- [ ] Change version numbers in "package.json" to a snapshot version `X.X.Z-SNAPSHOT`. |
| 75 | +- [ ] Commit and push: `git commit -am "changed version to vX.X.Z-SNAPSHOT"` |
| 76 | +- [ ] Create new tag: `git tag vX.X.Z-SNAPSHOT`. |
| 77 | +- [ ] [Remove the protection](https://github.com/almende/vis/settings/branches/develop) from `develop`. |
| 78 | +- [ ] FORCE-Push the branches to github: `git push --force && git push --tag` |
| 79 | +- [ ] [Re-Enable branch protection](https://github.com/almende/vis/settings/branches/develop) (enable ALL checkboxes) for `develop`. |
80 | 80 |
|
81 | 81 | DONE!
|
0 commit comments