/
checklist.html
52 lines (52 loc) · 3.35 KB
/
checklist.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<h1>Nikola Release Checklist (v14/2017-05-26)</h1>
<h2>Requirements</h2>
<p>In order to create a release, you need a bit of free time, ZSH installed, and a GPG setup.</p>
<h2>Preparation</h2>
<ul>
<li><input type="checkbox"> If you have a local clone of the releng repo: <code>git pull</code> first, refresh the page if necessary</li>
<li><input type="checkbox"> Get into the Nikola repo, make sure you are on the <code>master</code> branch and run <code>git pull origin master</code></li>
<li><input type="checkbox"> Pick a reasonable version number. Increase the last number (patch) or, if the changes <em>really</em> are significant, increase the second number (minor).</li>
</ul>
<h2>Writing announcements</h2>
<p>All announcements must include the <em>Greeting</em>, <em>What is Nikola?</em>, <em>Downloads</em>, and <em>Changes</em> blocks, in that order. Use the announcements in the Release Engineering repo as a template.</p>
<p>You may also add a <em>Key Changes since last release</em> block after <em>What is Nikola?</em>.</p>
<ul>
<li><input type="checkbox"> Write an announcement for GitHub Releases. It should use Markdown syntax and no word wrap.</li>
<li><input type="checkbox"> Write an announcement for e-mail. It should use reST-esque syntax, with word wrap at 70 columns.</li>
<li><input type="checkbox"> Write an announcement for the Nikola blog. Use <code>nikola new_post -et "Nikola v$VERSION is out"'!' -i path/to/blog.rst --tags 'nikola, planet, python, programming, release'</code> to import the announcement template (which you should then edit). Make sure to set the author name to your real name.</li>
</ul>
<h2>Release!</h2>
<p>Run the release script and hope everything works fine:</p>
<ul>
<li><input type="checkbox"> <code>scripts/release</code></li>
</ul>
<h2>GitHub Releases</h2>
<ul>
<li><input type="checkbox"> Create a GitHub release for this version by running <code>scripts/github-release.py</code> (pass announcement filename and <code>v$VERSION</code> as arguments)</li>
</ul>
<h2>GitHub Issues</h2>
<ul>
<li><input type="checkbox"> Create milestone for next release</li>
<li><input type="checkbox"> Move outstanding issues to milestone for next release</li>
<li><input type="checkbox"> Close milestone for this release</li>
</ul>
<h2>Local update</h2>
<ul>
<li><input type="checkbox"> Use <code>pip install -e .</code> to reinstall Nikola from Git in your virtualenv (if applicable)</li>
</ul>
<h2>Website update</h2>
<ul>
<li><input type="checkbox"> Optionally regenerate the <code>cerulean</code> theme: <code>nikola bootswatch_theme -s cerulean -n cerulean</code></li>
<li><input type="checkbox"> Build and deploy the site</li>
<li><input type="checkbox"> Commit and push your changes to GitHub</li>
</ul>
<h2>E-mails</h2>
<ul>
<li><input type="checkbox"> Send the e-mail announcement to <a href="mailto:nikola-discuss@googlegroups.com">nikola-discuss@googlegroups.com</a> and <a href="mailto:python-announce-list@python.org">python-announce-list@python.org</a>. You should sign it with GPG if possible.</li>
</ul>
<h2>Finishing up</h2>
<ul>
<li><input type="checkbox"> Give yourself a pat on the back!</li>
<li><input type="checkbox"> If you have access to the AUR packages, update them (if not, wait for Chris to handle this)</li>
<li><input type="checkbox"> If you have access to the Snapcraft packages, update them (if not, wait for Roberto to handle this)</li>
</ul>