Skip to content

Commit

Permalink
Bump to v6.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
reconbot committed Oct 9, 2017
1 parent 4ff9c67 commit af97b09
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 45 deletions.
8 changes: 4 additions & 4 deletions .docs/README.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,10 @@ We're not against firmware but we're better than it.

You're reading the README for Node-Serialport's master branch. You probably want to see the README for our most recent release. See our [changelog](CHANGELOG.md) for what's new, and our [upgrade guide](UPGRADE_GUIDE.md) for a walk-through on differences between major versions.

- [`[email protected]-beta3` docs](https://github.com/EmergingTechnologyAdvisors/node-serialport/blob/6.0.0-beta3/README.md) the latest `6.x` release.
- [`[email protected]` docs](https://github.com/EmergingTechnologyAdvisors/node-serialport/blob/6.0.0/README.md) the latest `6.x` release.
- [`[email protected]` docs](https://github.com/EmergingTechnologyAdvisors/node-serialport/blob/4.0.7/README.md) the latest `4.x` release.

Older versions are no longer supported.
Older versions are no longer supported but their docs can be found by looking through release tags.

***
## Helpful Resources for Getting Started with Node-Serialport
Expand Down Expand Up @@ -96,8 +96,6 @@ In addition to reading the [article mentioned above](http://www.voodootikigod.co

³ OSX 10.4 Tiger and above are supported, but our CI tests only 10.9.5 Mavericks with Xcode 6.1.

Until Issue #1221 is closed windows will suffer high cpu reads and writes and will require a `UV_THREADPOOL_SIZE` environment variable to be set to 1 + the number of ports you wish to open at a time. (Defaults to `4` which supports 3 ports).

## Installation Instructions

For most "standard" use cases (Node v4.x on Mac, Linux, or Windows on a x86 or x64 processor), Node-Serialport will install nice and easy with:
Expand Down Expand Up @@ -229,6 +227,8 @@ npm install serialport --build-from-source

Node-gyp's documentation doesn't mention it, but it sometimes helps to create a C++ project in [Visual Studio](https://www.visualstudio.com/) so that it will install any necessary components not already installed during the past two hours of setup. This will solve some instances of `Failed to locate: "CL.exe"`.

An old issue that you may still run into. When working with multiple Serial Ports you can set the `UV_THREADPOOL_SIZE` environment variable to be set to 1 + the number of ports you wish to open at a time. (Defaults to `4` which supports 3 open ports).

## Usage

### Opening a Port
Expand Down
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
<a name="6.0.0"></a>
# [6.0.0](https://github.com/EmergingTechnologyAdvisors/node-serialport/compare/v6.0.0-beta3...v6.0.0) (2017-10-09)


### Features

* **windows:** Add ERROR_INVALID_PARAMETER to supported bindings errors ([#1354](https://github.com/EmergingTechnologyAdvisors/node-serialport/issues/1354)) ([4ff9c67](https://github.com/EmergingTechnologyAdvisors/node-serialport/commit/4ff9c67))



<a name="6.0.0-beta3"></a>
# [6.0.0-beta3](https://github.com/EmergingTechnologyAdvisors/node-serialport/compare/v6.0.0-beta2...v6.0.0-beta3) (2017-10-07)

Expand Down
44 changes: 8 additions & 36 deletions PUBLISHING.md
Original file line number Diff line number Diff line change
@@ -1,46 +1,18 @@
# How to publish node Serialport

## Setup for Linux, Windows and OSX

Every time a new tag for the latest release is pushed to Github, the continuous integration
builds in Travis-CI and AppVeyor will generate the binaries for each platform and architecture.
We use [prebuild](https://github.com/mafintosh/prebuild) to publish these binaries on Github.

This can be checked in the .travis.yml file and appveyor.yml file. Within these files, if a git tag is detected a binary will be built and published for each version on each platform.

1. Merge all changes and new features into master
2. Bump up npm version in `package.json`
3. Run `npm run changelog` and modify `CHANGELOG.md` if needed
4. Update the `.docs/README.hbs` to reference this current version and to previous major version docs then regenerate docs `npm run docs`.
5. Commit then generate new tags based on package.json version number with `git tag v5.0.0 -a` and include the change log in the tag's annotation.
6. Push tags to Github with `git push --tags`
1. Bump up npm version in `package.json`
2. Run `npm run changelog` and modify `CHANGELOG.md` if needed
3. Update the `.docs/README.hbs` to reference this current version and to previous major version docs then regenerate docs `npm run docs`.
4. Commit everything then generate new tags based on package.json version number with `git tag v6.0.0 -a` and include the change log in the tag's annotation. (beta `git tag v6.0.0-beta3 -a`)
5. Push tags to Github with `git push --tags`
6. Wait for the CI to publish all the binaries. Remove the content of the Github release message so the tag's text shows.
7. `rm -rf package-lock.json node_modules build && npm install`
8. Publish to npm after builds finish. Builds can take half an hour and occasionally fail for seemingly no reason. Restart any failures in the travis or appeveyor ui. While you wait, remove the content of the Github release message so the tag's text shows. When the entire matrix succeeds and all binaries exist run `npm publish`.
8. When the entire matrix succeeds and all binaries exist run `npm publish` or `npm publish --tag beta`.
9. Kick off the build matrix for either the master or beta branch on [serialport-test-pilot](https://travis-ci.org/j5js/serialport-test-pilot). It will install serialport from npm on a wide range of systems.

Differences for beta release
* Tag like: `git tag v6.0.0-beta3 -a` and include the change log in the tag's annotation.
* Publish with `npm publish --tag beta`

## Config Travis, AppVeyor and Github to generate all of the binaries.

Before we are able to run everything stated above some steps need to be taken. Specifically for being able to publish the pre compiled binaries to Github. The correct keys need to be setup in the `travis.yml` and `appveyor.yml` files. For Travis, this needs to be done by the admin of the Github repo. For AppVeyor, this will need to be done by the owner of the AppVeyor account.

### Setting up secure keys in Travis.

Setting up the keys in Travis is easy if you have Ruby and Rubygems installed and working then run:

`gem install travis`

After the Travis gem is installed run the following command for each of the required keys:

`travis encrypt SOMEVAR=secretvalue`

And substitute the values in the `.travis.yml` file for the new ones. Detailed instructions can
be found here: http://docs.travis-ci.com/user/environment-variables/#Secure-Variables

### Setting up secure keys in AppVeyor

It is even easier than Travis to configure AppVeyor. You do not need to install anything, just go to your account and click on `encrypt tool`. Enter the values in the input field and click "Encrypt". In the same way as we do for Travis, we then need to substitute the newly generated values for the old ones.

Detailed instructions can be found here: http://www.appveyor.com/docs/build-configuration#secure-variables
10. Let everyone know 🎉
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@ We're not against firmware but we're better than it.

You're reading the README for Node-Serialport's master branch. You probably want to see the README for our most recent release. See our [changelog](CHANGELOG.md) for what's new, and our [upgrade guide](UPGRADE_GUIDE.md) for a walk-through on differences between major versions.

- [`[email protected]-beta3` docs](https://github.com/EmergingTechnologyAdvisors/node-serialport/blob/6.0.0-beta3/README.md) the latest `6.x` release.
- [`[email protected]` docs](https://github.com/EmergingTechnologyAdvisors/node-serialport/blob/6.0.0/README.md) the latest `6.x` release.
- [`[email protected]` docs](https://github.com/EmergingTechnologyAdvisors/node-serialport/blob/4.0.7/README.md) the latest `4.x` release.

Older versions are no longer supported.
Older versions are no longer supported but their docs can be found by looking through release tags.

***
## Helpful Resources for Getting Started with Node-Serialport
Expand Down Expand Up @@ -143,8 +143,6 @@ In addition to reading the [article mentioned above](http://www.voodootikigod.co

³ OSX 10.4 Tiger and above are supported, but our CI tests only 10.9.5 Mavericks with Xcode 6.1.

Until Issue #1221 is closed windows will suffer high cpu reads and writes and will require a `UV_THREADPOOL_SIZE` environment variable to be set to 1 + the number of ports you wish to open at a time. (Defaults to `4` which supports 3 ports).

## Installation Instructions

For most "standard" use cases (Node v4.x on Mac, Linux, or Windows on a x86 or x64 processor), Node-Serialport will install nice and easy with:
Expand Down Expand Up @@ -276,6 +274,8 @@ npm install serialport --build-from-source

Node-gyp's documentation doesn't mention it, but it sometimes helps to create a C++ project in [Visual Studio](https://www.visualstudio.com/) so that it will install any necessary components not already installed during the past two hours of setup. This will solve some instances of `Failed to locate: "CL.exe"`.

An old issue that you may still run into. When working with multiple Serial Ports you can set the `UV_THREADPOOL_SIZE` environment variable to be set to 1 + the number of ports you wish to open at a time. (Defaults to `4` which supports 3 open ports).

## Usage

### Opening a Port
Expand Down
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "serialport",
"version": "6.0.0-beta3",
"version": "6.0.0",
"description": "Node.js package to access serial ports. Linux, OSX and Windows. Welcome your robotic JavaScript overlords. Better yet, program them!",
"author": {
"name": "Chris Williams",
Expand All @@ -27,6 +27,7 @@
"serial",
"serialport",
"sms gateway",
"sms",
"stream",
"tty",
"UART"
Expand Down

0 comments on commit af97b09

Please sign in to comment.