vis.js is a dynamic, browser-based visualization library
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

87 lines
5.5 KiB

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