30 lines
2.4 KiB
Markdown
30 lines
2.4 KiB
Markdown
Documentation for the release process of Leaflet.
|
|
|
|
**Please note that you will need to have a git remote called `origin` that points to Leaflet's GitHub repo, since the publish script assumes it**
|
|
|
|
1. Make a new release branch (for example named `prepare-X.Y.Z`)
|
|
2. Make sure you do not have any `package.lock.json` or `yarn.lock` locally, since they can potentially make you build with the wrong package versions
|
|
3. Update [the changelog](https://github.com/Leaflet/Leaflet/blob/master/CHANGELOG.md) since last release and commit to the release branch
|
|
4. Write a blog post about the new release and put in `/docs/_posts` and commit to the release branch
|
|
5. Bump version number in `package.json` and commit to `master`
|
|
6. Run `npm run release`
|
|
7. Verify that the release was correctly published to NPM by checking:
|
|
* [Leaflet NPM package page](https://www.npmjs.com/package/leaflet)
|
|
* files on [Leaflet unpkg page](https://unpkg.com/leaflet@latest/)
|
|
8. Update API docs:
|
|
* run `npm run docs`
|
|
* Copy the built docs from `dist/reference-X.Y.Z.html` to `docs/reference-X.Y.Z.html`
|
|
* Update the built docs header to use Jekyll style; see commit [11d716f0964d8bc0d058ca09e9ba8003451b4b8d](https://github.com/Leaflet/Leaflet/commit/11d716f0964d8bc0d058ca09e9ba8003451b4b8d) as reference for the needed changes
|
|
* Commit the new docs to the release branch
|
|
9. Update `docs/reference.html` to redirect to the new version and commit the change to the release branch
|
|
10. Update integrity hashes:
|
|
* Checkout the release tag (`git checkout vX.Y.Z`)
|
|
* Run `npm run integrity` or simply `node ./build/integrity.js` if you're not on Debian
|
|
* Copy the hashes and update `integrity_hash_css`, `integrity_hash_source` and `integrity_hash_uglified` in `docs/_config.yml`; commit changes to the release branch
|
|
11. Update link to latest release in `docs/download.html`, and commit to the release branch
|
|
12. Add link to new version reference in `docs/reference-versions.html`, and commit to the release branch
|
|
13. Update `latest_leaflet_version` in `docs/_config.yml` and commit to the release branch
|
|
14. Update the announcement section in `docs/index.html` and commit to the release branch
|
|
15. If it looks like everything is good at this point, merge the release branch into `master`
|
|
16. Make a new release on [Leaflet's GitHub release page](https://github.com/Leaflet/Leaflet/releases/) with the most important parts of the changelog
|