diff --git a/distribution.md b/distribution.md index 645015ec..55ced91d 100644 --- a/distribution.md +++ b/distribution.md @@ -15,30 +15,32 @@ e.g. `v1.0.2` * **Release Candidate**: not ready for public use, still testing. must have a `-rc*` suffix. e.g. `v1.0.2-rc` or `v1.0.2-rc.4` +--- + 1. **Update the version of step/cli** - ``` - $ dep ensure -update github.com/smallstep/cli - ``` +

+   $ dep ensure -update github.com/smallstep/cli
+   
2. **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. - ``` - $ git pull --rebase origin master - $ git push - ``` +

+    $ git pull --rebase origin master
+    $ git push
+    
3. **Tag it!** 1. **Find the most recent tag.** - ``` - $ git fetch --tags - $ git tag - ``` +

+        $ git fetch --tags
+        $ git 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. @@ -47,14 +49,14 @@ e.g. `v1.0.2` Is the new release a *release candidate* or a *standard release*? - 1. Release Candidate + 1. **Release Candidate** If the most recent tag is a standard release, say `v1.0.2`, then the version of the next release candidate should be `v1.0.3-rc.1`. If the most recent tag 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`. - 2. Standard Release + 2. **Standard Release** 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 @@ -64,21 +66,25 @@ e.g. `v1.0.2` 3. **Create a local tag.** - ``` - $ git tag v1.0.3 # standard release +

+        # standard release
+        $ git tag v1.0.3
         ...or
-        $ git tag v1.0.3-rc.1  # release candidate
-        ```
+        # release candidate
+        $ git tag v1.0.3-rc.1
+        
4. **Push the new tag to the remote origin.** - ``` - $ git push origin tag v1.0.3 # standard release +

+        # standard release
+        $ git push origin tag v1.0.3
         ...or
-        $ git push origin tag v1.0.3-rc.1  # release candidate
-        ```
+        # release candidate
+        $ git push origin tag v1.0.3-rc.1
+        
-4. Check the build status at +4. **Check the build status at** [Travis-CI](https://travis-ci.com/smallstep/certificates/builds/). Travis will begin by verifying that there are no compilation or linting errors @@ -93,21 +99,21 @@ e.g. `v1.0.2` * **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. -6. **Update the AUR Arch Linux package** +5. **Update the AUR Arch Linux package** > **NOTE**: if you plan to release `cli` next then you can skip this step. - ``` - $ cd archlinux +

+    $ cd archlinux
 
     # Get up to date...
-    $ git pull origin master
-    $ make
+    $ git pull origin master
+    $ make
 
-    $ ./update --ca v1.0.3
-    ```
+    $ ./update --ca v1.0.3
+    
-7. **Update the Helm packages** +6. **Update the Helm packages** > **NOTE**: This is an optional step, only necessary if we want to release a > new helm package. @@ -125,9 +131,9 @@ e.g. `v1.0.2` Then create the step-certificates package running: - ```sh - $ helm package ./step-certificates - ``` +

+    $ helm package ./step-certificates
+    
A new file like `step-certificates-.tgz` will be created. Now commit and push your changes (don't commit the tarball) to the master @@ -136,15 +142,15 @@ e.g. `v1.0.2` Next checkout the `gh-pages` branch. `git add` the new tar-ball and update the index.yaml using the `helm repo index` command: - ```sh - $ git checkout gh-pages - $ git add "step-certificates-.tgz" - $ helm repo index --merge index.yaml --url https://smallstep.github.io/helm-charts/ . - $ git commit -a -m "Add package for step-certificates " - $ git push origin gh-pages - ``` +

+    $ git checkout gh-pages
+    $ git add "step-certificates-.tgz"
+    $ helm repo index --merge index.yaml --url https://smallstep.github.io/helm-charts/ .
+    $ git commit -a -m "Add package for step-certificates "
+    $ git push origin gh-pages
+    
-*All Done!* +***All Done!*** ## Versioning