mithril-vndb/archive/v1.0.0-rc.8/releasing.html
2017-01-26 20:46:32 -05:00

86 lines
3.1 KiB
HTML

<html>
<head>
<meta charset="UTF-8" />
<title>Mithril.js</title>
<link href='https://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css' />
<link href="lib/prism/prism.css" rel="stylesheet" />
<link href="style.css" rel="stylesheet" />
</head>
<body>
<header>
<section>
<h1>Mithril <small>1.0.0-rc.8</small></h1>
<nav>
<a href="index.html">Guide</a>
<a href="api.html">API</a>
<a href="https://gitter.im/lhorie/mithril.js">Chat</a>
<a href="https://github.com/lhorie/mithril.js">Github</a>
</nav>
</section>
</header>
<main>
<section>
<h1 id="releasing">Releasing</h1>
<ul>
<li>Core<ul>
<li><a href="hyperscript.html">m</a></li>
<li><a href="render.html">m.render</a></li>
<li><a href="mount.html">m.mount</a></li>
<li><a href="route.html">m.route</a></li>
<li><a href="request.html">m.request</a></li>
<li><a href="jsonp.html">m.jsonp</a></li>
<li><a href="parseQueryString.html">m.parseQueryString</a></li>
<li><a href="buildQueryString.html">m.buildQueryString</a></li>
<li><a href="withAttr.html">m.withAttr</a></li>
<li><a href="trust.html">m.trust</a></li>
<li><a href="fragment.html">m.fragment</a></li>
<li><a href="redraw.html">m.redraw</a></li>
<li><a href="version.html">m.version</a></li>
<li><a href="promise.html">Promise</a></li>
</ul>
</li>
<li>Optional<ul>
<li><a href="stream.html">Stream</a></li>
</ul>
</li>
<li>Tooling<ul>
<li><a href="https://github.com/lhorie/mithril.js/blob/rewrite/ospec">Ospec</a></li>
</ul>
</li>
</ul>
<p>Releasing new builds of mithril is mostly automated via <code>npm version</code></p>
<h2 id="publishing-to-npm">Publishing to NPM</h2>
<ol>
<li><code>npm version &lt;major|minor|patch|semver&gt; -m &quot;v%s&quot;</code></li>
</ol>
<p>All further steps are automated and run as follows:</p>
<ol>
<li>Tests are run</li>
<li>Linting is run (but doesn&#39;t fail build)</li>
<li>Version number in package.json is incremented</li>
<li>New bundles are generated using updated version</li>
<li><code>git add</code> called on bundle output</li>
<li><code>package.json</code> and updated bundles are committed to git</li>
<li>previous commit is tagged using new version number</li>
<li><code>git push --follow-tags</code> pushes up new version commit &amp; tag to github</li>
<li>Travis sees new release, starts build</li>
<li>Travis generates new bundles before running tests</li>
<li>Travis runs tests</li>
<li>Travis lints files (but can&#39;t fail build)</li>
<li>If build fails, abort</li>
<li>Build succeeded, so travis will commit back any changes to the repo (but there won&#39;t be any)</li>
<li>Travis sees that this commit has a tag associated with it</li>
<li>Travis will use the encrypted npm creds in <code>.travis.yml</code> to publish a new version to npm</li>
</ol>
<h2 id="publishing-a-github-release">Publishing a GitHub release</h2>
<p><strong>TODO</strong></p>
<h2 id="updating-docs-change-log-md-">Updating <code>docs/change-log.md</code></h2>
<p><strong>TODO</strong></p>
<hr />
<small>License: MIT. &copy; Leo Horie.</small>
</section>
</main>
<script src="lib/prism/prism.js"></script>
</body>
</html