From 1f68ed836e0c4e2ced39f5daa05dfc5d13d489f3 Mon Sep 17 00:00:00 2001 From: Steve Gravrock Date: Thu, 23 Jul 2020 17:26:43 -0700 Subject: [PATCH] Updated the release docs --- RELEASE.md | 59 ++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 40 insertions(+), 19 deletions(-) diff --git a/RELEASE.md b/RELEASE.md index 00fda1b0..b388cf85 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -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: 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 any links or top-level landing page for the Github Pages +1. Update the version in `package.json` +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 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) 1. `python setup.py sdist` 1. `twine upload dist/jasmine-core-.tar.gz` You will need pypi credentials to upload the egg. -### Release the Ruby gem - -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 +### Release the core NPM module 1. `npm adduser` to save your credentials locally 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. 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 -1. Visit the [Releases page for Jasmine](https://github.com/jasmine/jasmine/releases), find the tag just pushed. - 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. If it is a pre-release, mark it as such. - 1. Attach the standalone zipfile - - -There should be a post to Pivotal Labs blog and a tweet to that link. +For each of the above GitHub repos: +1. Visit the releases page and find the tag just published. +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. If it is a pre-release, mark it as such. +1. For core, attach the standalone zipfile.