This documentation guides the release manager to release the SkyWalking NodeJS in the Apache Way, and also helps people to check the release for voting.
- Close (if finished, or move to next milestone otherwise) all issues in the current milestone from skywalking-nodejs and skywalking, create a new milestone for the next release.
- Update CHANGELOG.md and
version
in package.json.
-
Upload your GPG public key to a public GPG site, such as MIT's site.
-
Log in id.apache.org and submit your key fingerprint.
-
Add your GPG public key into SkyWalking GPG KEYS file, you can do this only if you are a PMC member. You can ask a PMC member for help. DO NOT override the existed
KEYS
file content, only append your key at the end of the file.
export VERSION=<the version to release>
git clone --recurse-submodules git@github.com:apache/skywalking-nodejs && cd skywalking-nodejs
git tag -a "v$VERSION" -m "Release Apache SkyWalking-NodeJS $VERSION"
git push --tags
npm install && npm run release-src
svn co https://dist.apache.org/repos/dist/dev/skywalking/node-js/ release/skywalking/node-js
mkdir -p release/skywalking/node-js/"$VERSION"
cp skywalking-node-js/skywalking*.tgz release/skywalking/node-js/"$VERSION"
cp skywalking-node-js/skywalking*.tgz.asc release/skywalking/node-js/"$VERSION"
cp skywalking-node-js/skywalking*.tgz.sha512 release/skywalking/node-js/"$VERSION"
cd release/skywalking && svn add node-js/$VERSION && svn commit node-js -m "Draft Apache SkyWalking-NodeJS release $VERSION"
Call for vote in dev@skywalking.apache.org
.
Subject: [VOTE] Release Apache SkyWalking NodeJS version $VERSION
Content:
Hi the SkyWalking Community:
This is a call for vote to release Apache SkyWalking NodeJS version $VERSION.
Release notes:
* https://github.com/apache/skywalking-nodejs/blob/v$VERSION/CHANGELOG.md
Release Candidate:
* https://dist.apache.org/repos/dist/dev/skywalking/node-js/$VERSION
* sha512 checksums
- sha512xxxxyyyzzz skywalking-nodejs-src-x.x.x.tgz
Release Tag :
* (Git Tag) v$VERSION
Release Commit Hash :
* https://github.com/apache/skywalking-nodejs/tree/<Git Commit Hash>
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-nodejs/blob/master/CONTRIBUTING.md#compiling-and-building
Voting will start now and will remain open for at least 72 hours, all PMC members are required to give their votes.
[ ] +1 Release this package.
[ ] +0 No opinion.
[ ] -1 Do not release this package because....
Thanks.
[1] https://github.com/apache/skywalking-nodejs/blob/master/docs/How-to-release.md#vote-check
All PMC members and committers should check these before voting +1:
- Features test.
- All artifacts in staging repository are published with
.asc
,.md5
, andsha
files. - Source codes and distribution packages (
skywalking-nodejs-src-$VERSION.tgz
) are inhttps://dist.apache.org/repos/dist/dev/skywalking/node-js/$VERSION
with.asc
,.sha512
. LICENSE
andNOTICE
are in source codes and distribution package.- Check
shasum -c skywalking-nodejs-src-$VERSION.tgz.sha512
. - Check
gpg --verify skywalking-nodejs-src-$VERSION.tgz.asc skywalking-nodejs-src-$VERSION.tgz
. - Build distribution from source code package by following this the build guide.
- Licenses check,
make license
.
Vote result should follow these:
-
PMC vote is +1 binding, all others is +1 no binding.
-
Within 72 hours, you get at least 3 (+1 binding), and have more +1 than -1. Vote pass.
-
Send the closing vote mail to announce the result. When count the binding and no binding votes, please list the names of voters. An example like this:
[RESULT][VOTE] Release Apache SkyWalking NodeJS version $VERSION 72+ hours passed, we’ve got ($NUMBER) +1 bindings (and ... +1 non-bindings): (list names) +1 bindings: xxx ... +1 non-bindings: xxx ... Thank you for voting, I’ll continue the release process.
-
Move source codes tar balls and distributions to
https://dist.apache.org/repos/dist/release/skywalking/
, you can do this only if you are a PMC member.svn mv https://dist.apache.org/repos/dist/dev/skywalking/node-js/"$VERSION" https://dist.apache.org/repos/dist/release/skywalking/node-js/"$VERSION"
-
Refer to the previous PR, update news and links on the website. There are several files need to modify.
-
Update Github release page, follow the previous convention.
-
Publish to npmjs.com, this is optional for Apache releases, but we usually want to do this to let users use it conveniently.
npm run build && npm pack && npm publish
NOTE: please double check before publishing to npmjs.com, it's difficult to unpublish and republish the module at the moment.
-
Send ANNOUNCE email to
dev@skywalking.apache.org
andannounce@apache.org
, the sender should use his/her Apache email account.Subject: [ANNOUNCEMENT] Apache SkyWalking NodeJS $VERSION Released Content: Hi the SkyWalking Community On behalf of the SkyWalking Team, I’m glad to announce that SkyWalking NodeJS $VERSION is now released. SkyWalking NodeJS: The NodeJS Agent for Apache SkyWalking, which provides the native tracing abilities for NodeJS backend project. SkyWalking: APM (application performance monitor) tool for distributed systems, especially designed for microservices, cloud native and container-based (Docker, Kubernetes, Mesos) architectures. Download Links: http://skywalking.apache.org/downloads/ Release Notes : https://github.com/apache/skywalking-nodejs/blob/v$VERSION/CHANGELOG.md Website: http://skywalking.apache.org/ SkyWalking NodeJS Resources:
-
Issue: https://github.com/apache/skywalking/issues
- Mailing list: dev@skywalking.apache.org
- Documents: https://github.com/apache/skywalking-nodejs/blob/v$VERSION/README.md
The Apache SkyWalking Team