How-to-release.md 7.2 KB
Newer Older
wu-sheng's avatar
wu-sheng 已提交
1 2
Apache SkyWalking release guide
--------------------
wu-sheng's avatar
wu-sheng 已提交
3
This document guides every committer to release SkyWalking in Apache Way,
4
and also help committers to check the release for vote.
wu-sheng's avatar
wu-sheng 已提交
5

6

wu-sheng's avatar
wu-sheng 已提交
7
## Setup your development environment
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Use the following block as a template and place it in ~/.m2/settings.xml

```
<settings>
...
  <servers>
    <!-- To publish a snapshot of some part of Maven -->
    <server>
      <id>apache.snapshots.https</id>
      <username> <!-- YOUR APACHE LDAP USERNAME --> </username>
      <password> <!-- YOUR APACHE LDAP PASSWORD (encrypted) --> </password>
    </server>
    <!-- To stage a release of some part of Maven -->
    <server>
      <id>apache.releases.https</id>
      <username> <!-- YOUR APACHE LDAP USERNAME --> </username>
      <password> <!-- YOUR APACHE LDAP PASSWORD (encrypted) --> </password>
    </server>
   ...
  </servers>
</settings>
```

wu-sheng's avatar
wu-sheng 已提交
31
## Test your settings
32 33 34 35
```
mvn clean install -Papache-release (this will build artifacts, sources and sign)
```

wu-sheng's avatar
wu-sheng 已提交
36
## Prepare the release
37 38
```
mvn release:clean
wu-sheng's avatar
wu-sheng 已提交
39
mvn release:prepare -DautoVersionSubmodules=true
40 41
```

wu-sheng's avatar
wu-sheng 已提交
42
## Stage the release for a vote
43
```
44
mvn release:perform -DskipTests -Ptravis-ci-submodule
45 46 47
```
The release will automatically be inserted into a temporary staging repository for you.

wu-sheng's avatar
wu-sheng 已提交
48 49 50 51 52 53
## Build and sign the source code package
```shell
switch to release version tag
cd tools/releasing
sh create_source_release.sh
```
54

wu-sheng's avatar
wu-sheng 已提交
55 56
The `apache-skywalking-apm-incubating-x.y.z-src.tgz` should be found in `tools/releasing` folder,
with .asc, .sha512, .md5
57

wu-sheng's avatar
wu-sheng 已提交
58 59 60 61 62 63 64
## Find and download distribution in Apache Nexus Staging repositories
1. Use ApacheId to login `https://repository.apache.org/`
1. Go to `https://repository.apache.org/#stagingRepositories`
1. Search `skywalking` and find your staging repository
1. Close the repository and wait for all checks pass.
1. Go to `{REPO_URL}/org/apache/skywalking/apache-skywalking-apm-incubating/x.y.z`
1. Download `.tar.gz` and `.zip` with .asc and .sha1
65 66


wu-sheng's avatar
wu-sheng 已提交
67 68 69 70 71 72
## Upload to Apache svn
1. Use ApacheId to login `https://dist.apache.org/repos/dist/dev/incubator/skywalking/`
1. Create folder, named by release version
1. Upload Source code and distribution package (apache-skywalking-incubating-x.y.z-src.tar.gz, apache-skywalking-incubating-x.y.z.tar.gz, apache-skywalking-incubating-x.y.z.zip) 
`in svn.apache.org` with .asc, .sha512

73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
## Make the internal announcements
Send an announcement mail in dev mail list.

```
Mail title: [ANNOUNCE] SkyWalking x.y.z test build available

Mail content:
The test build of x.y.z is available.

This is our Apache Incubator release.
We welcome any comments you may have, and will take all feedback into
account if a quality vote is called for this build.

Release notes:

wu-sheng's avatar
wu-sheng 已提交
88
 * https://github.com/apache/incubator-skywalking/blob/master/CHANGES.md
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118

Release Candidate:

 * https://dist.apache.org/repos/dist/dev/incubator/skywalking/xxxx

Maven 2 staging repository:

 * https://repository.apache.org/content/repositories/xxxx/org/apache/skywalking/

Release Tag :

 * (Git Tag)

Release CommitID :

 * (Git Commit ID)

Keys to verify the Release Candidate :

 * http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x2EF5026E70A55777 corresponding to pengys@apache.org

Guide to build the release from source :

 * https://github.com/apache/incubator-skywalking/blob/master/docs/en/How-to-build.md

A vote regarding the quality of this test build will be initiated
within the next couple of days.
```

## Wait at least 48 hours for test responses
wu-sheng's avatar
wu-sheng 已提交
119 120
Any PPMC, committer or contributor can test features for releasing, and feedback.
Based on that, PPMC will decide whether start a vote.
121 122 123 124 125 126 127 128 129 130 131 132 133

## Call a vote in dev
Call a vote in `dev@skywalking.apache.org`

```
Mail title: [VOTE] Release Apache SkyWalking (incubating) version x.y.z

Mail content:
Hi All,
This is a call for vote to release Apache SkyWalking (Incubating) version x.y.z.

Release notes:

wu-sheng's avatar
wu-sheng 已提交
134
 * https://github.com/apache/incubator-skywalking/blob/x.y.z/CHANGES.md
135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170

Release Candidate:

 * https://dist.apache.org/repos/dist/dev/incubator/skywalking/xxxx

Maven 2 staging repository:

 * https://repository.apache.org/content/repositories/xxxx/org/apache/skywalking/

Release Tag :

 * (Git Tag)

Release CommitID :

 * (Git Commit ID)

Keys to verify the Release Candidate :

 * http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x2EF5026E70A55777 corresponding to pengys@apache.org

Guide to build the release from source :

 * https://github.com/apache/incubator-skywalking/blob/master/docs/en/How-to-build.md

Voting will start now (xxxx date) and will remain open for at least 72 hours, Request all PPMC members to give their vote.
[ ] +1 Release this package.
[ ] +0 No opinion.
[ ] -1 Do not release this package because....
```

## Vote Check
All PPMC members and committers should check these before vote +1.

1. Features test.
1. All artifacts in staging repository are published with .asc, .md5, *sha1 files
wu-sheng's avatar
wu-sheng 已提交
171
1. Source code and distribution package (apache-skywalking-incubating-x.y.z-src.tar.gz, apache-skywalking-incubating-x.y.z.tar.gz, apache-skywalking-incubating-x.y.z.zip)
wu-sheng's avatar
wu-sheng 已提交
172
are in `https://dist.apache.org/repos/dist/dev/incubator/skywalking/x.y.z` with .asc, .sha512
173
1. `LICENSE` and `NOTICE` are in Source code and distribution package.
wu-sheng's avatar
wu-sheng 已提交
174 175 176
1. Check `shasum -c apache-skywalking-apm-incubating-x.y.z-src.tgz.sha512`
1. Build distribution from source code package (apache-skywalking-incubating-x.y.z-src.tar.gz) by following this [doc](https://github.com/apache/incubator-skywalking/blob/master/docs/en/How-to-build.md#build-from-apache-source-codes).
1. Apache RAT check. Run `mvn apache-rat:check`.
177 178

## Call for a vote in Apache IPMC
wu-sheng's avatar
wu-sheng 已提交
179
Call a vote in `general@incubator.apache.org`
wu-sheng's avatar
wu-sheng 已提交
180 181 182 183 184 185 186 187

```
Mail title: [VOTE] Release Apache SkyWalking (incubating) version x.y.z

Mail content:
Hi All,
This is a call for vote to release Apache SkyWalking (Incubating) version x.y.z.

wu-sheng's avatar
wu-sheng 已提交
188 189 190 191 192 193 194 195 196 197 198 199
The Apache SkyWalking community has tested, voted and approved the proposed
release of Apache SkyWalking (Incubating) x.y.z

We now kindly request the Incubator PMC members review and vote on this
incubator release.

Skywalking is an APM (application performance monitor), especially for microservice, Cloud Native and container-based architecture systems.
Also known as a distributed tracing system.
It provides an automatic way to instrument applications:
no need to change any of the source code of the target application;
and an collector with an very high efficiency streaming module.

wu-sheng's avatar
wu-sheng 已提交
200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235
Vote Thread:

 * From `list.apache.org`

Result Thread:

 * From the vote thread.

Release notes:

 * https://github.com/apache/incubator-skywalking/blob/x.y.z/CHANGES.md

Release Candidate:

 * https://dist.apache.org/repos/dist/dev/incubator/skywalking/xxxx

Maven 2 staging repository:

 * https://repository.apache.org/content/repositories/xxxx/org/apache/skywalking/

Release Tag :

 * (Git Tag)

Release CommitID :

 * (Git Commit ID)

Keys to verify the Release Candidate :

 * http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x2EF5026E70A55777 corresponding to pengys@apache.org

Guide to build the release from source :

 * https://github.com/apache/incubator-skywalking/blob/master/docs/en/How-to-build.md

wu-sheng's avatar
wu-sheng 已提交
236
Voting will start now (xxxx date) and will remain open for at least 72 hours, Request IPMC to give their vote.
wu-sheng's avatar
wu-sheng 已提交
237 238 239 240
[ ] +1 Release this package.
[ ] +0 No opinion.
[ ] -1 Do not release this package because....
```