Nodos Bundler is a tool to bundle a nodos version with modules and release it as a github release and a nodos bundle release.
Requirements:
- Python 3.7+
nodosCLI tool
Environment variables:
BUILD_NUMBER: The build number of the release
Bundles are configured using YAML files. Each Nodos version has its own YAML file:
nodos-1.2.yaml- Bundles for Nodos 1.2nodos-1.3.yaml- Bundles for Nodos 1.3nodos-1.4.yaml- Bundles for Nodos 1.4
Bundles are defined as a list with explicit names. Possible fields:
name- Bundle identifiershort_name- Short name for release (Optional)nodos- Nodos version per platform-architecturebundled_packages- Map of packages keyed by package nameengine_index_url- Engine index URLmodule_index_urls- Module index URLsincludes- List of other bundle names to include (Optional). This also works in a inheritance manner for some fields, ie.nodosorengine_index_urlfrom the included bundle will be used if not defined in the current bundle.bundled_packagesare merged favoring the current bundle.
The bundler uses flat platform-architecture keys:
x86_64-windows- Windows x86_64aarch64-windows- Windows ARM64x86_64-linux- Linux x86_64aarch64-linux- Linux ARM64
bundles:
- name: minimal
nodos:
x86_64-windows: 1.3.2
x86_64-linux: 1.3.0
bundled_packages:
nos.reflect:
x86_64-windows: 1.7.13
x86_64-linux: 1.6.5
nos.math:
x86_64-windows: 1.23.0
x86_64-linux: 1.23.0
engine_index_url: https://raw.githubusercontent.com/mediaz/engine-releases/main/index.json
module_index_urls:
- url: https://raw.githubusercontent.com/mediaz/nodos-index/main/index
name: nodos
is_active: true
- name: standard
includes:
- minimal
bundled_packages:
nos.filters:
x86_64-windows: 1.5.5
x86_64-linux: 1.5.2Using version and bundle keyword:
python ./bundler.py --version="1.4" --bundle-key="broadcast" --download-nodos --download-packages --pack --gh-release --gh-release-repo="https://github.com/nodos-dev/bundler" --gh-release-target-branch="dev" --dry-runUsing YAML file path:
python ./bundler.py --bundles-yaml-path="./nodos-1.3.yaml" --bundle-key="broadcast" --download-nodos --download-packages --pack --dry-run