How to work on a Jasmine Release
Jasmine Core Maintainers Only
Follow the instructions in
Contribute.markdown during development.
Please work on feature branches.
Please attempt to keep commits to
master small, but cohesive. If a feature is contained in a bunch of small commits (e.g., it has several wip commits), please squash them when merging back to
We attempt to stick to Semantic Versioning. Most of the time, development should be against a new minor version - fixing bugs and adding new features that are backwards compatible.
The current version lives in the file
src/version.json. This file should be set to the version that is currently under development. That is, if version 1.0.0 is the current release then version should be incremented say, to 1.1.0.
This version is used by both
jasmine.js and the
jasmine-core Ruby gem.
Note that Jasmine should not use the "patch" version number. Let downstream projects rev their patch versions as needed, keeping their major and minor version numbers in sync with Jasmine core.
Update the Github Pages (as needed)
Github pages have to exist in a branch called
gh-pages in order for their app to serve them. This repo adds that branch as a submodule under the
pages directory. This is a bit of a hack, but it allows us to work with the pages and the source at the same time and with one set of rake tasks.
If you want to submit changes to this repo and aren't a Pivotal Labs employee, you can fork and work in the
gh-pages branch. You won't be able to edit the pages in the submodule off of master.
The pages are built with Frank. All the source for these pages live in the
When ready to release - specs are all green and the stories are done:
- Update the version in
version.jsonto a release candidate - add a
release_candidateproperty with a value of 1
- Update any comments on the public interfaces
- Update any links or top-level landing page for the Github Pages
thor jasmine_dev:release_prep- updates the version, builds the
.jsfiles, builds the standalone release, and builds the Github pages
rake release- tags the repo with the version, builds the
jasmine-coregem, pushes the gem to Rubygems.org
There should be a post to Pivotal Labs blog and a tweet to that link.