install-artifact-from-github
This is a no-dependency micro helper for developers of binary addons for Node. It is literally two small one-file utilities integrated with GitHub releases. The project solves two problems:
- save-to-github-cache saves a binary artifact to a Github release according to the platform, architecture, and Node ABI.
- install-from-cache retrieves a previously saved artifact, tests if it works properly, and rebuilds a project from sources in the case of failure.
In general, it can save your users from a long recompilation and, in some cases, even save them from installing build tools.
By using GitHub facilities (Releases
and Actions) the whole process of publishing and subsequent installations are secure,
transparent, painless, inexpensive, or even free for public repositories.
How to install
Installation:
npm install --save install-artifact-from-github
How to use
In your package.json
(pseudo-code with comments):
{
"scripts": {
"save-to-github": "save-to-github-cache --artifact build/Release/ABC.node",
"install": "install-from-cache --artifact build/Release/ABC.node",
"verify-build": "node scripts/verify-build.js"
"rebuild": "node-gyp rebuild"
}
}
Examples of GitHub actions can be found in the documentation.
Documentation
The full documentation is available in the wiki.
Release history
- 1.3.0 enhanced support for custom mirrors.
- 1.2.0 support for NPM >= 7.
- 1.1.3 technical release: updated docs.
- 1.1.2 technical release: updated docs.
- 1.1.1 numerous bugfixes to please Github REST API.
- 1.1.0 moved
save-to-github
here from a separate project, reduced 3rd-party dependencies. - 1.0.2 fixed a
yarn
-specific bug. - 1.0.1 fixed a bug in the environment variable parameter.
- 1.0.0 initial release (extracted from node-re2).