Current version
0.3.0
. Current remote URL:https://github.com/urbdyn/nexe_builds/releases/download/0.3.0/
[Nexe] is a fantastic tool for turning Node.js applications into single binaries. This repository provides automation to pre-build and distribute the node binaries, so you don't have to!
To use the pre-built binaries with nexe just add --remote https://github.com/urbdyn/nexe_builds/releases/download/0.3.0/
Script example:
# Install Nexe
npm install nexe
# Save remote URL as variable
NEXE_REMOTE="https://github.com/urbdyn/nexe_builds/releases/download/0.3.0/"
# Do nexe build
npx nexe ./myScript.js --remote "$NEXE_REMOTE"
This repository utilizes Nexe's standard built process and is run via Github Actions. If you wish to have a secure build of Node.js for Nexe then please build it from scratch yourself. All code and artifacts from this repository are provided as is with no warranty or guarantees.
We use our release version to mark changes in how we build the binaries, such as the version of Nexe used. Please refer to RELEASE_LOG.md for more details.
If you want other builds to be created and published, please open a Issue ticket 👍
Urban Dynamics makes use of Nexe for a number of projects we do. It's a great tool but the pre-built binaries are becoming a bit stale compared to the Node.js release schedule. So, we decided to open source our build automation which was creating and publishing prebuilt binaries. Enjoy 🚀
bin/run_cd
: Gets the prior git commit, callsbin/check_assets
, and then callsbin/install_dependencies
plusbin/build_nexe
if a build is needed.- Args: None
- Environmental Variables:
NODE_VERSION
: Version of Node.js to build for. [required]CREATE_RELEASE
: Whether to actually do the compilation or dry run. [optional]
- Files created:
- Those created by scripts invoked (see below).
- Exit codes:
0
: Success1
:check_asset
script failed.2
:install_dependencies
script failed.3
:build_nexe
script failed.
bin/check_assets
: Checks if target build has been published and lazily creates release if it doesn't exist.- Args:
- Node.js version to target.
- Repo commit to create release for.
--no-create-release
flag (optional)
- Environmental Variables:
GITHUB_TOKEN
: Token to use for querying github and creating release if needed. [required]
- Files created:
$repo_base/NEXE_ASSET_NAME
: Name of the nexe asset to create. (integer)$repo_base/RELEASE_ID
: The ID of the Github Release to publish assets to. (${targetOs}-${targetArch}-${targetNodeVersion}
)
- Exit codes:
0
: Build not needed1
: Error occurred10
: Build needed.
- Args:
bin/install_dependencies
: Installs proper dependencies for each OS.- Args: None
- Environmental Variables: None
- Files created: None
- Exit codes:
0
: Success*
: Failure
bin/build_nexe
: Performs nexe build based on given node version.- Args:
- Command (
build
orbuild-check
) - Node.js version to build for.
- Command (
- Environmental Variables: None
- Files created:
- Nexe build artifact (
$repo_dir/dist/$os_env-$os_arch-$node_target
)
- Nexe build artifact (
- Exit codes:
0
: Success*
: Failure
- Args: