2.3 KiB
Model Release Tool
./scripts/model_release.py automates the single-supercombo release path:
- Paste the model bot message.
- The tool parses the branch, ONNX path, model name, release date, model ID, and commit SHAs.
- It scans every listed upstream commit for
tinygrad,modeld, or Chestnut runtime changes. - It downloads the Git LFS object without loading it into shell variables.
- It asks for the comma IP, transfers the ONNX, and runs the device compiler.
- It verifies the returned PKL or multipart checksum.
- It uploads
models/<id>/,onnx/<id>/, andmanifests/to Hugging Face. - It pushes GitHub one artifact part per commit and the manifest last.
Run interactively:
./scripts/model_release.py
Paste the complete bot message, press Ctrl-D, then enter the comma IP. The
default runtime behavior version is v16; the Model vN line is treated as
the model iteration/name, not the runtime behavior version. Override an
ambiguous ID with --model-id, or the runtime contract with
--behavior-version v15.
For the normal model bot flow, a commit SHA alone is also accepted:
./modelgrab f877d7a0ccc3cce943c76e285214c020cd65c899
The tool resolves the commit's changed driving ONNX, associated pull-request
branch/title, GPU status, and commit date through GitHub. If GitHub cannot
associate a human model title with the SHA, it derives the name from the ONNX
filename; use --model-id when an exact local naming convention is required.
Useful non-interactive form:
./scripts/model_release.py \
--text-file release-message.txt \
--ip 192.168.3.110
The tool refuses 192.168.3.109. It also stops before downloading or compiling
if any supplied commit changes runtime code. Review the warning first, then
rerun with --allow-runtime-changes only after Firestar approves it.
The default resources checkout is ~/StarPilot-Resources on branch Models.
It must be clean and synchronized before starting. The default Hugging Face
bucket is firestar4430/StarPilot-Resources; authenticate with hf auth login
before use. Use --dry-run to test parsing and the runtime scan without
touching the device or either resource store.
Failed runs leave the source, compiled parts, logs, and result JSON in the
workspace so the cause can be inspected. A rerun requires --force when the
same source path already exists.