docs: update release files.
This commit is contained in:
parent
0a5a2608e8
commit
7375b0be48
3 changed files with 102 additions and 29 deletions
|
|
@ -3,25 +3,26 @@ Install `hsd`
|
|||
|
||||
`hsd` requires Node.js v12 or higher.
|
||||
|
||||
<!-- markdown-toc start -->
|
||||
|
||||
Table of contents
|
||||
-----------------
|
||||
|
||||
- [Install `hsd`](#install-hsd)
|
||||
* [Verifying keys](#verifying-keys)
|
||||
* [Building From Source (git and npm)](#building-from-source-git-and-npm)
|
||||
+ [Verifying](#verifying)
|
||||
* [npm](#npm)
|
||||
+ [Verifying](#verifying-1)
|
||||
* [macOS](#macos)
|
||||
+ [Verifying](#verifying-2)
|
||||
* [Docker](#docker)
|
||||
+ [Building an image](#building-an-image)
|
||||
+ [Running a container](#running-a-container)
|
||||
+ [Stopping a container](#stopping-a-container)
|
||||
<!-- markdown-toc -i install.md -->
|
||||
|
||||
<!-- markdown-toc end -->
|
||||
<!-- toc -->
|
||||
|
||||
- [Verifying keys](#verifying-keys)
|
||||
- [Building From Source (git and npm)](#building-from-source-git-and-npm)
|
||||
* [Verifying](#verifying)
|
||||
- [npm](#npm)
|
||||
* [Verifying](#verifying-1)
|
||||
- [macOS](#macos)
|
||||
* [Verifying](#verifying-2)
|
||||
- [Docker](#docker)
|
||||
* [Building an image](#building-an-image)
|
||||
* [Running a container](#running-a-container)
|
||||
* [Stopping a container](#stopping-a-container)
|
||||
|
||||
<!-- tocstop -->
|
||||
|
||||
## Verifying keys
|
||||
Every verifying process described below will need project maintainer
|
||||
|
|
|
|||
|
|
@ -3,3 +3,73 @@ Releasing hsd
|
|||
|
||||
This document contains information about bundling, signing and
|
||||
distributing the files.
|
||||
|
||||
`hsd` is distributed through several platforms: `github`, `npm`, `brew`.
|
||||
|
||||
<!-- markdown-toc -i release-files.md -->
|
||||
|
||||
<!-- toc -->
|
||||
|
||||
- [Deploying to github (tag)](#deploying-to-github-tag)
|
||||
* [Major, minor and patches](#major-minor-and-patches)
|
||||
- [Deploying to npm](#deploying-to-npm)
|
||||
* [Deploying latest version, minor and patches included](#deploying-latest-version-minor-and-patches-included)
|
||||
* [Deploying support versions (previous and life-support)](#deploying-support-versions-previous-and-life-support)
|
||||
- [Deploying to homebrew](#deploying-to-homebrew)
|
||||
|
||||
<!-- tocstop -->
|
||||
|
||||
## Deploying to github (tag)
|
||||
|
||||
This does not need many additional actions as we use github as our primary
|
||||
git platform. After each release we need to update INSTALL.md versions. Tags
|
||||
MUST to be signed.
|
||||
|
||||
### Major, minor and patches
|
||||
After you are [ready](./release-process.md) to publish files
|
||||
(for example `v4.0.0`)
|
||||
- `git checkout 4.x` - switch to proper branch `4.x`.
|
||||
- `git tag -s v4.0.0` - tag and sign the release.
|
||||
- `git push origin v4.0.0` - publish the tag. (origin is the main repo)
|
||||
|
||||
## Deploying to npm
|
||||
Maintainer needs access rights to the npm repository. Releasing
|
||||
on npm by default tags the release with `latest`, so releasing latest
|
||||
and supporting older versions is different.
|
||||
|
||||
NOTE: You can use `npm publish --dry-run` to see the details before actual
|
||||
release.
|
||||
|
||||
### Deploying latest version, minor and patches included
|
||||
Major, minor and patch of the latest version deployment (for example v4.1.0):
|
||||
- `git checkout v4.1.0` - switch to the tag containing `4.1.0` updates.
|
||||
- `npm publish` - this is will be tagged as `latest`.
|
||||
|
||||
NOTE: `package.json` should have been updated in `v4.1.0` tag to `4.1.0`.
|
||||
|
||||
### Deploying support versions (previous and life-support)
|
||||
Older versions can have additional tags for `previous` and `life-support`:
|
||||
- `git checkout v3.1.0` - switch to the tag for the `previous` version.
|
||||
- `npm publish --tag previous` - update appropriate npm tag for the release.
|
||||
or
|
||||
- `git checkout v2.4.1` - switch to the tag for the `life-support` version.
|
||||
- `npm publish --tag life-support` - update appropriate npm tag for the
|
||||
release.
|
||||
|
||||
NOTE: `package.json` should have been updated in `v3.1.0` tag to `3.1.0`.
|
||||
|
||||
## Deploying to homebrew
|
||||
To deploy to the popular MacOS package manager [brew][homebrew], you will
|
||||
need to create Pull request to the [Hombrew Core repository][homebrew-repo].
|
||||
Formula for the `hsd` can be found at `homebrew-core/Formula/hsd.rb`
|
||||
- Update `homebrew-core/Formula/hsd.rb`. (e.g. [hsd 3.0.1][homebrew-update])
|
||||
- You can check the steps when formula was introduced
|
||||
[hsd formula][homebrew-new-formula] or review the
|
||||
[Guidelines][homebrew-guidelines].
|
||||
- Additionally double check if `nodejs` version needs update.
|
||||
|
||||
[homebrew]: https://brew.sh/
|
||||
[homebrew-repo]: https://github.com/Homebrew/homebrew-core
|
||||
[homebrew-new-formula]: https://github.com/Homebrew/homebrew-core/pull/51014
|
||||
[homebrew-update]: https://github.com/Homebrew/homebrew-core/pull/87779/files
|
||||
[homebrew-guidelines]: https://github.com/Homebrew/homebrew-core/blob/master/CONTRIBUTING.md
|
||||
|
|
|
|||
|
|
@ -1,23 +1,25 @@
|
|||
# Versioning and branching strategy
|
||||
|
||||
<!-- markdown-toc start -->
|
||||
|
||||
Table of Contents
|
||||
-----------------
|
||||
|
||||
* [Release schedule and release candidates](#release-schedule-and-release-candidates)
|
||||
* [Versioning (Semver)](#versioning-semver)
|
||||
* [Support period](#support-period)
|
||||
* [Changelog and release notes](#changelog-and-release-notes)
|
||||
* [Branching strategy](#branching-strategy)
|
||||
+ [General](#general)
|
||||
+ [master branch and package.json version](#master-branch-and-packagejson-version)
|
||||
+ [Release candidate and major release](#release-candidate-and-major-release)
|
||||
- [Next release candidate](#next-release-candidate)
|
||||
- [Release the major version](#release-the-major-version)
|
||||
+ [Release minor and patches](#release-minor-and-patches)
|
||||
<!-- markdown-toc -i release-process.md -->
|
||||
|
||||
<!-- markdown-toc end -->
|
||||
<!-- toc -->
|
||||
|
||||
- [Release schedule and release candidates](#release-schedule-and-release-candidates)
|
||||
- [Versioning (Semver)](#versioning-semver)
|
||||
- [Support period](#support-period)
|
||||
- [Changelog and release notes](#changelog-and-release-notes)
|
||||
- [Branching strategy](#branching-strategy)
|
||||
* [General](#general)
|
||||
* [master branch and package.json version](#master-branch-and-packagejson-version)
|
||||
* [Release candidate and major release](#release-candidate-and-major-release)
|
||||
+ [Next release candidate](#next-release-candidate)
|
||||
+ [Release the major version](#release-the-major-version)
|
||||
* [Release minor and patches](#release-minor-and-patches)
|
||||
|
||||
<!-- tocstop -->
|
||||
|
||||
This document describes the release process and branching strategy
|
||||
for the handshake.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue