UNPKG

mermaid

Version:

Markdownish syntax for generating flowcharts, sequence diagrams and gantt charts.

154 lines (153 loc) 6.88 kB
<!DOCTYPE html> <html> <head> <title>RELEASE.md</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <link rel="stylesheet" media="all" href="../../doc-style.css" /> <script src="../../doc-filelist.js"></script> <script> var relativeDir = "../../", thisFile = "Users/knut/Documents/source/mermaid/bower_components/jasmine/RELEASE.md", defaultSidebar = true; </script> <script src="../../doc-script.js"></script> <script src="../../mermaid.js"></script> <link rel="stylesheet" href="../../mermaid.css" /> </head> <body> <div id="sidebar_wrapper"> <div id="sidebar_switch"> <span class="tree">Files</span> <span class="headings">Headings</span> </div> <div id="tree"></div> <div id="headings"> <div class="heading h1"> <a href="#How to work on a Jasmine Release">How to work on a Jasmine Release</a> </div> <div class="heading h2"> <a href="#Development">Development</a> </div> <div class="heading h3"> <a href="#Git Rules">Git Rules</a> </div> <div class="heading h3"> <a href="#Version">Version</a> </div> <div class="heading h2"> <a href="#Release">Release</a> </div> <div class="heading h3"> <a href="#Build standalone distribution">Build standalone distribution</a> </div> <div class="heading h3"> <a href="#Release the Python egg">Release the Python egg</a> </div> <div class="heading h3"> <a href="#Release the Ruby gem">Release the Ruby gem</a> </div> <div class="heading h3"> <a href="#Release the NPM">Release the NPM</a> </div> <div class="heading h3"> <a href="#Finally">Finally</a> </div> </div> </div> <div id="sidebar-toggle"></div> <div id="container"><div class="docs markdown"><div class="pilwrap" id="How to work on a Jasmine Release"> <h1> <a href="#How to work on a Jasmine Release" name="How to work on a Jasmine Release" class="pilcrow">&#182;</a> How to work on a Jasmine Release</h1> </div> <div class="pilwrap" id="Development"> <h2> <a href="#Development" name="Development" class="pilcrow">&#182;</a> Development</h2> </div> <p><strong><em>Jasmine Core Maintainers Only</em></strong></p> <p>Follow the instructions in <code>CONTRIBUTING.md</code> during development.</p> <div class="pilwrap" id="Git Rules"> <h3> <a href="#Git Rules" name="Git Rules" class="pilcrow">&#182;</a> Git Rules</h3> </div> <p>Please work on feature branches.</p> <p>Please attempt to keep commits to <code>master</code> small, but cohesive. If a feature is contained in a bunch of small commits (e.g., it has several wip commits or small work), please squash them when merging back to <code>master</code>.</p> <div class="pilwrap" id="Version"> <h3> <a href="#Version" name="Version" class="pilcrow">&#182;</a> Version</h3> </div> <p>We attempt to stick to <a href="http://semver.org/">Semantic Versioning</a>. Most of the time, development should be against a new minor version - fixing bugs and adding new features that are backwards compatible.</p> <p>The current version lives in the file <code>/package.json</code>. This file should be set to the version that is <em>currently</em> under development. That is, if version 1.0.0 is the current release then version should be incremented say, to 1.1.0.</p> <p>This version is used by both <code>jasmine.js</code> and the <code>jasmine-core</code> Ruby gem.</p> <p>Note that Jasmine should <em>not</em> use the &quot;patch&quot; version number. Let downstream projects rev their patch versions as needed, keeping their major and minor version numbers in sync with Jasmine core.</p> <div class="pilwrap" id="Release"> <h2> <a href="#Release" name="Release" class="pilcrow">&#182;</a> Release</h2> </div> <p>When ready to release - specs are all green and the stories are done:</p> <ol> <li>Update the release notes in <code>release_notes</code> - use the Anchorman gem to generate the markdown file and edit accordingly</li> <li>Update the version in <code>package.json</code> to a release candidate</li> <li>Update any links or top-level landing page for the Github Pages</li> </ol> <div class="pilwrap" id="Build standalone distribution"> <h3> <a href="#Build standalone distribution" name="Build standalone distribution" class="pilcrow">&#182;</a> Build standalone distribution</h3> </div> <ol> <li>Build the standalone distribution with <code>grunt buildStandaloneDist</code></li> <li>Make sure you add the new ZIP file to git<ol> <li>Should we still do this? Given we want to use guthub releases...</li> </ol> </li> </ol> <div class="pilwrap" id="Release the Python egg"> <h3> <a href="#Release the Python egg" name="Release the Python egg" class="pilcrow">&#182;</a> Release the Python egg</h3> </div> <ol> <li><code>python setup.py register sdist upload</code> You will need pypi credentials to upload the egg.</li> </ol> <div class="pilwrap" id="Release the Ruby gem"> <h3> <a href="#Release the Ruby gem" name="Release the Ruby gem" class="pilcrow">&#182;</a> Release the Ruby gem</h3> </div> <ol> <li>Copy version to the Ruby gem with <code>grunt build:copyVersionToGem</code></li> <li><strong>NOTE</strong>: You will likely need to point to a local jasmine gem in order to run tests locally. <em>Do not</em> push this version of the Gemfile.</li> <li><strong>NOTE</strong>: You will likely need to push a new jasmine gem with a dependent version right after this release.</li> <li>Push these changes to GitHub and verify that this SHA is green</li> <li><code>rake release</code> - tags the repo with the version, builds the <code>jasmine-core</code> gem, pushes the gem to Rubygems.org. In order to release you will have to ensure you have rubygems creds locally.</li> </ol> <div class="pilwrap" id="Release the NPM"> <h3> <a href="#Release the NPM" name="Release the NPM" class="pilcrow">&#182;</a> Release the NPM</h3> </div> <ol> <li><code>npm adduser</code> to save your credentials locally</li> <li><code>npm publish .</code> to publish what&#39;s in <code>package.json</code></li> </ol> <div class="pilwrap" id="Finally"> <h3> <a href="#Finally" name="Finally" class="pilcrow">&#182;</a> Finally</h3> </div> <ol> <li>Visit the <a href="https://github.com/pivotal/jasmine/releases">Releases page for Jasmine</a>, find the tag just pushed.<ol> <li>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.</li> <li>If it is a pre-release, mark it as such.</li> <li>Attach the standalone zipfile</li> </ol> </li> </ol> <p>There should be a post to Pivotal Labs blog and a tweet to that link.</p> </div> </div> </body> </html>