This document guides every committer to release SkyWalking in Apache Way, and also help committers to check the release for vote.
Follow Apache maven deployment environment document to set gpg tool and encrypt passwords
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>
This step is only for test, if your env is set right, don't need to check every time.
./mvnw clean install -Pall (this will build artifacts, sources and sign)
./mvnw release:clean ./mvnw release:prepare -DautoVersionSubmodules=true -Pall
You could do a GPG sign before doing release, if you need input the password to sign, and the maven don't give the chance, but just failure. Run gpg --sign xxx
to any file could remember the password for enough time to do release.
./mvnw release:perform -DskipTests -Pall
export RELEASE_VERSION=x.y.z (example: RELEASE_VERSION=5.0.0-alpha) cd tools/releasing bash create_source_release.sh
This scripts should do following things
v
+ RELEASE_VERSION
as tag to clone the codes.git submodule init/update
done.gpg
and shasum 512
.The apache-skywalking-apm-x.y.z-src.tgz
should be found in tools/releasing
folder, with .asc, .sha512.
https://repository.apache.org/
https://repository.apache.org/#stagingRepositories
skywalking
and find your staging repository{REPO_URL}/org/apache/skywalking/apache-skywalking-apm/x.y.z
.tar.gz
and .zip
with .asc and .sha1https://dist.apache.org/repos/dist/dev/skywalking/
shasum -a 512 file > file.sha512
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. 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: * https://github.com/apache/skywalking/blob/master/changes/changes-x.y.z.md Release Candidate: * https://dist.apache.org/repos/dist/dev/skywalking/xxxx * sha512 checksums - sha512xxxxyyyzzz apache-skywalking-apm-x.x.x-src.tgz - sha512xxxxyyyzzz apache-skywalking-apm-bin-x.x.x.tar.gz - sha512xxxxyyyzzz apache-skywalking-apm-bin-x.x.x.zip Maven 2 staging repository: * https://repository.apache.org/content/repositories/xxxx/org/apache/skywalking/ Release Tag : * (Git Tag) x.y.z Release CommitID : * https://github.com/apache/skywalking/tree/(Git Commit ID) * Git submodule * skywalking-ui: https://github.com/apache/skywalking-rocketbot-ui/tree/(Git Commit ID) * apm-protocol/apm-network/src/main/proto: https://github.com/apache/skywalking-data-collect-protocol/tree/(Git Commit ID) * oap-server/server-query-plugin/query-graphql-plugin/src/main/resources/query-protocol https://github.com/apache/skywalking-query-protocol/tree/(Git Commit ID) Keys to verify the Release Candidate : * https://dist.apache.org/repos/dist/release/skywalking/KEYS Guide to build the release from source : * https://github.com/apache/skywalking/blob/x.y.z/docs/en/guides/How-to-build.md A vote regarding the quality of this test build will be initiated within the next couple of days.
Any PMC, committer or contributor can test features for releasing, and feedback. Based on that, PMC will decide whether start a vote.
Call a vote in dev@skywalking.apache.org
Mail title: [VOTE] Release Apache SkyWalking version x.y.z Mail content: Hi All, This is a call for vote to release Apache SkyWalking version x.y.z. Release notes: * https://github.com/apache/skywalking/blob/master/changes/changes-x.y.z.md Release Candidate: * https://dist.apache.org/repos/dist/dev/skywalking/xxxx * sha512 checksums - sha512xxxxyyyzzz apache-skywalking-apm-x.x.x-src.tgz - sha512xxxxyyyzzz apache-skywalking-apm-bin-x.x.x.tar.gz - sha512xxxxyyyzzz apache-skywalking-apm-bin-x.x.x.zip Maven 2 staging repository: * https://repository.apache.org/content/repositories/xxxx/org/apache/skywalking/ Release Tag : * (Git Tag) x.y.z Release CommitID : * https://github.com/apache/skywalking/tree/(Git Commit ID) * Git submodule * skywalking-ui: https://github.com/apache/skywalking-rocketbot-ui/tree/(Git Commit ID) * apm-protocol/apm-network/src/main/proto: https://github.com/apache/skywalking-data-collect-protocol/tree/(Git Commit ID) * oap-server/server-query-plugin/query-graphql-plugin/src/main/resources/query-protocol https://github.com/apache/skywalking-query-protocol/tree/(Git Commit ID) Keys to verify the Release Candidate : * https://dist.apache.org/repos/dist/release/skywalking/KEYS Guide to build the release from source : * https://github.com/apache/skywalking/blob/x.y.z/docs/en/guides/How-to-build.md Voting will start now (xxxx date) and will remain open for at least 72 hours, Request all PMC members to give their vote. [ ] +1 Release this package. [ ] +0 No opinion. [ ] -1 Do not release this package because....
All PMC members and committers should check these before vote +1.
https://dist.apache.org/repos/dist/dev/skywalking/x.y.z
with .asc, .sha512LICENSE
and NOTICE
are in Source code and distribution package.shasum -c apache-skywalking-apm-x.y.z-src.tgz.sha512
gpg --verify apache-skywalking-apm-x.y.z-src.tgz.asc apache-skywalking-apm-x.y.z-src.tgz
docker run --rm -v $(pwd):/github/workspace apache/skywalking-eyes header check
. (No binary in source codes)Vote result should follow these.
https://dist.apache.org/repos/dist/release/skywalking/
.> export SVN_EDITOR=vim > svn mv https://dist.apache.org/repos/dist/dev/skywalking/x.y.z https://dist.apache.org/repos/dist/release/skywalking .... enter your apache password ....
http://www.apache.org/dyn/closer.cgi/skywalking/x.y.z/xxx
. We only publish Apache mirror path as release info.https://www.apache.org/dist/skywalking/x.y.z/xxx
https://www.apache.org/dist/skywalking/KEYS
dev@skywalking.apache.org
, announce@apache.org
, the sender should use Apache email account.Mail title: [ANNOUNCE] Apache SkyWalking x.y.z released Mail content: Hi all, Apache SkyWalking Team is glad to announce the first release of Apache SkyWalking x.y.z. SkyWalking: APM (application performance monitor) tool for distributed systems, especially designed for microservices, cloud native and container-based (Docker, Kubernetes, Mesos) architectures. This release contains a number of new features, bug fixes and improvements compared to version a.b.c(last release). The notable changes since x.y.z include: (Highlight key changes) 1. ... 2. ... 3. ... Please refer to the change log for the complete list of changes: https://github.com/apache/skywalking/blob/master/changes/changes-x.y.z.md Apache SkyWalking website: http://skywalking.apache.org/ Downloads: http://skywalking.apache.org/downloads/ Twitter: https://twitter.com/ASFSkyWalking SkyWalking Resources: - GitHub: https://github.com/apache/skywalking - Issue: https://github.com/apache/skywalking/issues - Mailing list: dev@skywalkiing.apache.org - Apache SkyWalking Team