mirror of
https://github.com/mapbox/node-fontnik.git
synced 2025-12-08 20:16:18 +00:00
31 lines
1.1 KiB
Markdown
31 lines
1.1 KiB
Markdown
### Tagging and publishing binaries via Travis
|
|
|
|
On each commit that passes through Travis, the [`travis_publish.sh`](https://github.com/mapbox/node-fontnik/blob/master/deps/travis_publish.sh) script checks for the string `[publish binary]` in the commit message, and if present, runs `node-pre-gyp publish` to publish a binary.
|
|
|
|
Running `npm publish` doesn't actually upload a binary anywhere, but instead just pushes up your local code with an updated version number in `package.json`. When your module is installed with `npm install`, `node-pre-gyp` will use this version number to search for a published binary, falling back to a source compile if no matching binary is found.
|
|
|
|
Typical workflow:
|
|
|
|
```
|
|
git checkout master
|
|
|
|
# increment version number
|
|
# https://docs.npmjs.com/cli/version
|
|
npm version major | minor | patch
|
|
|
|
# amend commit to include "[publish binary]"
|
|
git commit --amend
|
|
"x.y.z" -> "x.y.z [publish binary]"
|
|
|
|
# push commit and tag to remote
|
|
git push
|
|
git push --tags
|
|
|
|
# make a sandwich, check travis console for build successes
|
|
# test published binary (should install from remote)
|
|
npm install && npm test
|
|
|
|
# publish to npm
|
|
npm publish
|
|
```
|