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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
|
<!DOCTYPE html>
<html>
<head>
<link rel=stylesheet href=style.css />
<link rel=icon href=CZI-new-logo.png />
</head>
<body>
<main>
<div class="goto-index"><a href="index.html">Table of contents</a></div>
<h1>Creating a new release</h1>
<ul>
<li>Make sure there are no outstanding commits or
pull requests that should be in the new release.
<li>Do some testing.
<li>Run <code>CheckConfigurations.py</code>
(from the <code>shasta-install/bin</code> directory)
to check that all built-in configurations are functional.
<li>Pick a release number <code>X.Y.Z</code>
where <code>X</code>, <code>Y</code>, and <code>Z</code>
are numbers (no additional characters).
To stay consistent with
<a href='https://semver.org'>Semantic Versioning</a>,
for now stay with <code>X=0</code>.
Increment <code>Z</code> by one if only bug fixes were made, and otherwise
increment <code>Y</code> by one and reset <code>Z</code> to zero.
In the directions below, replace <code>X.Y.Z</code>
with the release number you picked.
<li>In
<code>shasta/.github/workflows/Build.yml</code>,
change <code>BUILD_ID</code> to <code>Shasta Release X.Y.Z</code>
in all <code>cmake</code> commands (2 instances at the time of last update of this documentation).
<li>Commit and push this change to trigger a new build on GitHub Actions.
Wait for that build to complete.
<li>Download the 3 artifacts. Unzip them and rename them to the following:
<ul>
<li><code>shasta-Linux-X.Y.Z</code>
<li><code>shasta-Ubuntu-22.04-X.Y.Z.tar</code>
<li><code>shasta-docs-X.Y.Z.tar</code>
</ul>
<li>Make sure <code>shasta-Linux-X.Y.Z</code> is executable.
<li>Build Shasta for 64-bit ARM (<code>aarch64</code>). Github Actions currently does not support ARM. So the easiest way to do this is on a Graviton2 ec2 instance in AWS as follows:
<ul>
<li><code>git clone https://github.com/paoloshasta/shasta.git
sudo ./shasta/scripts/InstallPrerequisites-Ubuntu.sh
mkdir -p shastaBuild
cd shastaBuild
cmake ../shasta -DBUILD_ID="Shasta Release X.Y.Z for 64 bit ARM"
make install/strip -j
</code></li>
<li>Download the <code>aarch64</code> Shasta binary and
rename it to <code>shasta-Linux-ARM-X.Y.Z</code>,
then make sure it is executable. </li>
</ul>
</li>
<li>Create release notes in markdown format.
This is
<a href="https://markdownlivepreview.com/">a web page</a> that can be used to review
the release notes before posting on GitHub.
Just paste the markdown to the left pane.
<ul>
<li>Include the minimum kernel version for each binary in the notes.
You can find this by running the `file` command (`file /path/to/shasta-*-X.Y.Z`)
</ul>
<li>Create the release on GitHub and paste the release notes.
The release name should be just/simply <code>X.Y.Z</code>
(no additional characters). Specify the tag to be created, also
<code>X.Y.Z</code> without any additional characters.
The release will not be visible to users until it gets published
two steps below.
<li>Upload the unzipped and renamed artifacts (4) to the new release as assets.
<li>Publish the release on GitHub.
<li>After the release has been published it should not be modified or deleted.
<li>In
<code>shasta/.github/workflows/Build.yml</code>,
change <code>BUILD_ID</code> to
<code>Shasta unreleased test build newer than release X.Y.Z</code>
in all <code>cmake</code> commands for future GitHub Actions builds
(2 instances at the time of last update of this documentation).
</ul>
<div class="goto-index"><a href="index.html">Table of contents</a></div>
</main>
</body>
</html>
|