@@ -81,4 +81,22 @@ and run the tests locally, make sure all tests passed.
```shell
make test
```
\ No newline at end of file
```
## How to release
This section guides committers and PMC members to release SkyWalking CLI in Apache Way.
### Prerequisites
-[x] [GNU Make](https://www.gnu.org/software/make/manual/make.html) is installed
-[x] [GPG tool](https://gpgtools.org) is installed
-[x] [Add your GPG key](docs/How-to-release.md#add-your-gpg-public-key)
### Release steps
- Export the version that is to be released, `export VERSION=1.0.1 `
- Tag the latest commit that is to be released with `git tag v${VERSION}` and push the tag with `git push https://github.com/apache/skywalking-cli v${VERSION}`
- Verify licenses, build and sign distribution packages, simply run `make release`, distribution packages and checksums are generated
-[Upload the packages to SVN repository](docs/How-to-release.md#upload-to-apache-svn)
This documentation guides the release manager to release the SkyWalking CLI in the Apache Way, and also helps people to
check the release for vote.
## Add your GPG public key
1. Add your GPG public key into [SkyWalking GPG KEYS](https://dist.apache.org/repos/dist/release/skywalking/KEYS) file,
you can do this only if you are a committer, use your Apache id and password to log into the svn, and update the file.
**DO NOT override the existed `KEYS` file.**
1. Upload your GPG public key to public GPG site, such as [MIT's site](http://pgp.mit.edu:11371/). This site should be in
Apache maven staging repository check list.
## Build and sign the source code package
```shell
export VERSION=<the version to release>
git tag v${VERSION}
make release
```
The `skywalking-cli-${VERSION}-bin.tgz`, `skywalking-cli-${VERSION}-src.tgz`, and their corresponding `asc`, `sha512`
should be generated in the directory automatically.
## Upload to Apache svn
1. Check out the [dist dev repo](https://dist.apache.org/repos/dist/dev/skywalking), e.g. `svn checkout https://dist.apache.org/repos/dist/dev/skywalking`
1. Create a folder named with the release version and round, prefixed by `cli/`, e.g. `cd skywalking && mkdir -p cli/$VERSION`
1. Copy all the packages to the folder, as well as their `.asc` and `.sha512`
1. Commit the changes to svn
## Make the internal announcement
Send an announcement email to dev@ mailing list.
```text
Subject: [ANNOUNCEMENT] SkyWalking CLi $VERSION test build available
Content:
The test build of SkyWalking CLI $VERSION is now available.
This is our Apache release.
We welcome any comments you may have, and will take all feedback into
account if a quality vote is called for this build.