You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by ke...@apache.org on 2020/12/31 05:02:03 UTC

[skywalking-nodejs] branch docu/relea created (now 8170991)

This is an automated email from the ASF dual-hosted git repository.

kezhenxu94 pushed a change to branch docu/relea
in repository https://gitbox.apache.org/repos/asf/skywalking-nodejs.git.


      at 8170991  Add documentations about how to release

This branch includes the following new commits:

     new 8170991  Add documentations about how to release

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[skywalking-nodejs] 01/01: Add documentations about how to release

Posted by ke...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

kezhenxu94 pushed a commit to branch docu/relea
in repository https://gitbox.apache.org/repos/asf/skywalking-nodejs.git

commit 8170991c0d87d75930f2965a317171a1193ba73a
Author: kezhenxu94 <ke...@apache.org>
AuthorDate: Thu Dec 31 13:01:51 2020 +0800

    Add documentations about how to release
---
 docs/How-to-release.md | 181 +++++++++++++++++++++++++++++++++++++++++++++++++
 package-lock.json      |   4 +-
 package.json           |   4 +-
 3 files changed, 186 insertions(+), 3 deletions(-)

diff --git a/docs/How-to-release.md b/docs/How-to-release.md
new file mode 100644
index 0000000..a56be1c
--- /dev/null
+++ b/docs/How-to-release.md
@@ -0,0 +1,181 @@
+# Apache SkyWalking NodeJS Release Guide
+
+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.
+
+## Prerequisites
+
+1. Close (if finished, or move to next milestone otherwise) all issues in the current milestone from [skywalking-nodejs](https://github.com/apache/skywalking-nodejs/milestones) and [skywalking](https://github.com/apache/skywalking/milestones), create a new milestone for the next release.
+1. Update [CHANGELOG.md](../CHANGELOG.md) and `version` in [package.json](../package.json).
+
+
+## Add your GPG public key to Apache svn
+
+1. Upload your GPG public key to a public GPG site, such as [MIT's site](http://pgp.mit.edu:11371/).
+
+1. Log in [id.apache.org](https://id.apache.org/) and submit your key fingerprint.
+
+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 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.**
+
+
+## Build and sign the source code package
+
+```shell
+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
+```
+
+## Upload to Apache svn
+
+```bash
+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@ mailing list
+
+Call for vote in `dev@skywalking.apache.org`.
+
+```text
+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
+```
+
+## Vote Check
+
+All PMC members and committers should check these before voting +1:
+
+1. Features test.
+1. All artifacts in staging repository are published with `.asc`, `.md5`, and `sha` files.
+1. Source codes and distribution packages (`skywalking-nodejs-src-$VERSION.tgz`)
+are in `https://dist.apache.org/repos/dist/dev/skywalking/node-js/$VERSION` with `.asc`, `.sha512`.
+1. `LICENSE` and `NOTICE` are in source codes and distribution package.
+1. Check `shasum -c skywalking-nodejs-src-$VERSION.tgz.sha512`.
+1. Check `gpg --verify skywalking-nodejs-src-$VERSION.tgz.asc skywalking-nodejs-src-$VERSION.tgz`.
+1. Build distribution from source code package by following this [the build guide](#build-and-sign-the-source-code-package).
+1. Licenses check, `make license`.
+
+Vote result should follow these:
+
+1. PMC vote is +1 binding, all others is +1 no binding.
+
+1. Within 72 hours, you get at least 3 (+1 binding), and have more +1 than -1. Vote pass.
+
+1. **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.
+   ```
+
+## Publish release
+
+1. 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**.
+
+    ```shell
+    svn mv https://dist.apache.org/repos/dist/dev/skywalking/node-js/"$VERSION" https://dist.apache.org/repos/dist/release/skywalking/node-js/"$VERSION"
+    ```
+
+1. Refer to the previous [PR](https://github.com/apache/skywalking-website/pull/190), update news and links on the website. There are several files need to modify.
+
+1. Update [Github release page](https://github.com/apache/skywalking-nodejs/releases), follow the previous convention.
+
+1. Publish to npmjs.com, this is optional for Apache releases, but we usually want to do this to let users use it conveniently.
+
+  ```shell
+  npm 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.
+
+1. Send ANNOUNCE email to `dev@skywalking.apache.org` and `announce@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
+```
+
+
diff --git a/package-lock.json b/package-lock.json
index 451b25a..60db95c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
 {
-  "name": "skywalking",
-  "version": "0.1.0",
+  "name": "skywalking-backend-js",
+  "version": "0.2.0",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
diff --git a/package.json b/package.json
index c56cc22..d40a1d7 100644
--- a/package.json
+++ b/package.json
@@ -12,7 +12,9 @@
     "lint": "tslint -p src/tsconfig.json src/**/*.ts",
     "test": "DEBUG=testcontainers* jest",
     "format": "prettier --write \"src/**/*.ts\"",
-    "clean": "(rm -rf src/proto || true) && (rm -rf src/proto || true) && (rm -rf lib || true)"
+    "clean": "(rm -rf src/proto || true) && (rm -rf src/proto || true) && (rm -rf lib || true)",
+    "package-src": "tar -zcvf skywalking-nodejs-src-$npm_package_version.tgz --exclude bin --exclude .git --exclude .idea --exclude .DS_Store --exclude .github --exclude node_modules --exclude skywalking-nodejs-src-$npm_package_version.tgz .",
+    "release-src": "npm run prepare && npm run package-src && gpg --batch --yes --armor --detach-sig skywalking-nodejs-src-$npm_package_version.tgz && shasum -a 512 skywalking-nodejs-src-$npm_package_version.tgz > skywalking-nodejs-src-$npm_package_version.tgz.sha512"
   },
   "files": [
     "lib/**/*"