Updated the release docs

This commit is contained in:
Steve Gravrock
2020-07-23 17:26:43 -07:00
parent c4e65e4a9a
commit 1f68ed836e

View File

@@ -29,29 +29,32 @@ When jasmine-core revs its major or minor version, the binding libraries should
When ready to release - specs are all green and the stories are done: When ready to release - specs are all green and the stories are done:
1. Update the release notes in `release_notes` - use the Anchorman gem to generate the markdown file and edit accordingly 1. Update the release notes in `release_notes` - use the Anchorman gem to generate the markdown file and edit accordingly
1. Update the version in `package.json` to a release candidate 1. Update the version in `package.json`
1. Update any links or top-level landing page for the Github Pages 1. Copy version to the Ruby gem with `grunt build:copyVersionToGem`
### Commit and push core changes
1. Commit release notes and version changes (jasmine.js, version.rb, package.json)
1. Push
1. Wait for Travis to go green
### Build standalone distribution ### Build standalone distribution
1. Build the standalone distribution with `grunt buildStandaloneDist` 1. Build the standalone distribution with `grunt buildStandaloneDist`
### Release the Python egg ### Release the core Ruby gem
1. __NOTE__: You will likely need to push a new jasmine gem with a dependent version right after this release. See below.
1. `rake release` - tags the repo with the version, builds the `jasmine-core` gem, pushes the gem to Rubygems.org. In order to release you will have to ensure you have rubygems creds locally.
### Release the core Python egg
Install [twine](https://github.com/pypa/twine) Install [twine](https://github.com/pypa/twine)
1. `python setup.py sdist` 1. `python setup.py sdist`
1. `twine upload dist/jasmine-core-<version>.tar.gz` You will need pypi credentials to upload the egg. 1. `twine upload dist/jasmine-core-<version>.tar.gz` You will need pypi credentials to upload the egg.
### Release the Ruby gem ### Release the core NPM module
1. Copy version to the Ruby gem with `grunt build:copyVersionToGem`
1. __NOTE__: You will likely need to point to a local jasmine gem in order to run tests locally. _Do not_ push this version of the Gemfile.
1. __NOTE__: You will likely need to push a new jasmine gem with a dependent version right after this release.
1. Push these changes to GitHub and verify that this SHA is green
1. `rake release` - tags the repo with the version, builds the `jasmine-core` gem, pushes the gem to Rubygems.org. In order to release you will have to ensure you have rubygems creds locally.
### Release the NPM
1. `npm adduser` to save your credentials locally 1. `npm adduser` to save your credentials locally
1. `npm publish .` to publish what's in `package.json` 1. `npm publish .` to publish what's in `package.json`
@@ -65,12 +68,30 @@ Probably only need to do this when releasing a minor version, and not a patch ve
1. `rake release[${version}]` to copy the current edge docs to the new version 1. `rake release[${version}]` to copy the current edge docs to the new version
1. Commit and push. 1. Commit and push.
### Release the binding libraries
#### NPM
1. Create release notes using Anchorman as above
1. In `package.json`, update both the package version and the jasmine-core dependency version
1. Commit and push.
1. Wait for Travis to go green again.
1. `grunt release `
1. `npm publish .`
#### Gem
1. Create release notes using Anchorman as above
1. Update the version number in `lib/jasmine/version.rb`.
1. Update the jasmine-core dependency version in `jasmine.gemspec`.
1. Commit and push.
1. Wait for Travis to go green again.
1. `rake release`
### Finally ### Finally
1. Visit the [Releases page for Jasmine](https://github.com/jasmine/jasmine/releases), find the tag just pushed. For each of the above GitHub repos:
1. Paste in a link to the correct release notes for this release. The link should reference the blob and tag correctly, and the markdown file for the notes. 1. Visit the releases page and find the tag just published.
1. If it is a pre-release, mark it as such. 1. Paste in a link to the correct release notes for this release. The link should reference the blob and tag correctly, and the markdown file for the notes.
1. Attach the standalone zipfile 1. If it is a pre-release, mark it as such.
1. For core, attach the standalone zipfile.
There should be a post to Pivotal Labs blog and a tweet to that link.