Closed mapsam closed 8 years ago
Since this will come up for any cpp project, I think it's probably worth adding a commit-based script for publishing binaries via travis, something similar to Node Mapnik: https://github.com/mapnik/node-mapnik/blob/master/scripts/publish.sh
Sooooo the issue here is that pre-built binaries on an s3 bucket will require a specific set of secret tokens, etc. Those can't be shared across projects (in the sense that we are sharing code with node-cpp-skel), but we can document how to set it up. The access to https://mapbox-node-binary.s3.amazonaws.com
is Mapbox user specific, so maybe we should make a note in the README about pre-built binary releasing that discusses what a user needs to do to get things set up.
Okay, I've been working on getting this set up with vtinfo
and think we can point to the node-pre-gyp docs about setting up secure access keys for travis: https://github.com/mapbox/node-pre-gyp#travis-automation
Probably best to link to the "how to generate the proper IAM roles" as well, so people can learn more about that.
think we can point to the node-pre-gyp docs about setting up secure access keys for travis: https://github.com/mapbox/node-pre-gyp#travis-automation
Correct.
Probably best to link to the "how to generate the proper IAM roles" as well, so people can learn more about that.
👍 What is critical is that the role is scoped to the specific bucket + module such that npm unpublish
or npm publish
cannot overwrite any binaries inside the bucket not related to the specific module.
Going to confirm publishing binaries works as expected, then we can update the readme, then close this!
Also look at this commit - confirm it works: https://github.com/mapbox/node-cpp-skel/commit/dcd6e49faff2a851164c1357a7af2cc6f3ddea78
Publishing now works for linux. Going to wait for the OSX build to finish 🍏 before merging.
OSX is passing! Now waiting for binaries to publish for it ... then we're off to the races. 🏇
Binaries exist after https://github.com/mapbox/node-cpp-skel/pull/26 merged
Is it worth documenting how to deploy pre-built binaries for each system architecture? Right now the
package.json
points to a remote location but as far as I can tell there's nothing to build and deploy to this location.cc @springmeyer @jakepruitt @GretaCB