Update distribution docs

This commit is contained in:
max furman 2021-02-17 16:23:03 -08:00
parent 15662c1f04
commit b3fac3570e

View file

@ -16,42 +16,19 @@ e.g. `v1.0.2`
`-rc*` suffix. e.g. `v1.0.2-rc` or `v1.0.2-rc.4` `-rc*` suffix. e.g. `v1.0.2-rc` or `v1.0.2-rc.4`
--- ---
1. **Release `cli` first** 1. **Tag it!**
If you plan to release [`cli`](https://github.com/smallstep/cli) as part of 1. Find the most recent tag.
this release, `cli` must be released first. The `certificates` docker container
depends on the `cli` container. Make certain to wait until the `cli` travis
build has completed.
2. **Update the version of step/cli** ```
$> git fetch --tags
<pre><code> $> git tag
<b>$ go get -u github.com/smallstep/cli</b> ```
</code></pre>
3. **Commit all changes.**
Make sure that the local checkout is up to date with the remote origin and
that all local changes have been pushed.
<pre><code>
<b>$ git pull --rebase origin master</b>
<b>$ git push</b>
</code></pre>
4. **Tag it!**
1. **Find the most recent tag.**
<pre><code>
<b>$ git fetch --tags</b>
<b>$ git tag</b>
</code></pre>
The new tag needs to be the logical successor of the most recent existing tag. The new tag needs to be the logical successor of the most recent existing tag.
See [versioning](#versioning) section for more information on version numbers. See [versioning](#versioning) section for more information on version numbers.
2. **Select the type and value of the next tag.** 2. Select the type and value of the next tag.
Is the new release a *release candidate* or a *standard release*? Is the new release a *release candidate* or a *standard release*?
@ -62,7 +39,7 @@ e.g. `v1.0.2`
is a release candidate, say `v1.0.2-rc.3`, then the version of the next is a release candidate, say `v1.0.2-rc.3`, then the version of the next
release candidate should be `v1.0.2-rc.4`. release candidate should be `v1.0.2-rc.4`.
2. **Standard Release** 2. Standard Release
If the most recent tag is a standard release, say `v1.0.2`, then the version If the most recent tag is a standard release, say `v1.0.2`, then the version
of the next standard release should be `v1.0.3`. If the most recent tag of the next standard release should be `v1.0.3`. If the most recent tag
@ -70,27 +47,27 @@ e.g. `v1.0.2`
standard release should be `v1.0.3`. standard release should be `v1.0.3`.
3. **Create a local tag.** 3. Create a local tag.
<pre><code> ```
# standard release # standard release
<b>$ git tag v1.0.3</b> $> git tag v1.0.3
...or ...or
# release candidate # release candidate
<b>$ git tag v1.0.3-rc.1</b> $> git tag v1.0.3-rc.1
</code></pre> ```
4. **Push the new tag to the remote origin.** 4. Push the new tag to the remote origin.
<pre><code> ```
# standard release # standard release
<b>$ git push origin tag v1.0.3</b> $> git push origin tag v1.0.3
...or ...or
# release candidate # release candidate
<b>$ git push origin tag v1.0.3-rc.1</b> $> git push origin tag v1.0.3-rc.1
</code></pre> ```
5. **Check the build status at** 2. **Check the build status at**
[Travis-CI](https://travis-ci.com/smallstep/certificates/builds/). [Travis-CI](https://travis-ci.com/smallstep/certificates/builds/).
Travis will begin by verifying that there are no compilation or linting errors Travis will begin by verifying that there are no compilation or linting errors
@ -105,7 +82,7 @@ e.g. `v1.0.2`
* **step-certificates_1.0.3_darwin_amd64.tar.gz**: tarball containing a statically compiled darwin binary. * **step-certificates_1.0.3_darwin_amd64.tar.gz**: tarball containing a statically compiled darwin binary.
* **step-certificates.tar.gz**: tarball containing a git archive of the full repo. * **step-certificates.tar.gz**: tarball containing a git archive of the full repo.
6. **Update the AUR Arch Linux package** 3. **Update the AUR Arch Linux package**
> **NOTE**: if you plan to release `cli` next then you can skip this step. > **NOTE**: if you plan to release `cli` next then you can skip this step.
@ -119,7 +96,7 @@ e.g. `v1.0.2`
<b>$ ./update --ca v1.0.3</b> <b>$ ./update --ca v1.0.3</b>
</code></pre> </code></pre>
7. **Update the Helm packages** 4. **Update the Helm packages**
> **NOTE**: This is an optional step, only necessary if we want to release a > **NOTE**: This is an optional step, only necessary if we want to release a
> new helm package. > new helm package.