Developer Tools
vrelease
Builds, zips and hashes a release with the same commands you’d type.
Released v1.0.0 · 2026-09-28use "stdlib/release.ven"
print output_path_for("stdlib/release.ven", "build/release")
Reference (25 functions)
- output_path_for
- build_source
- build_sources
- ensure_release_directory
- builds_all_ok
- format_build_summary
- run_gate_test
- run_gate_tests
- tests_all_passed
- format_gate_summary
- checksum_of_file
- checksum_manifest
- format_checksums_text
- save_checksums_file
- verify_checksums
- checksums_all_ok
- new_release_manifest
- add_artifact
- save_release_manifest
- load_release_manifest
- package_release
- release
- release_failure
- verify_release
- format_release_summary
API reference
output_path_for(source_path, out_dir)
Builds the .vbc output path build_source should compile source_path to.
output_path_for("stdlib/release.ven", "build/release")build_source(source_path, output_path)
Compiles one .ven source file to a .vbc artifact via the real bin/venutian build command.
build_source("stdlib/release.ven", "build/release/vrelease.vbc")build_sources(source_paths, out_dir)
Builds every source in source_paths into out_dir, creating it first if needed.
build_sources(["stdlib/release.ven"], "build/release")ensure_release_directory(directory)
Creates directory if it does not already exist.
ensure_release_directory("build/release")builds_all_ok(build_results)
Tests whether every result in build_results has "ok" set to yes.
builds_all_ok([build_source("stdlib/release.ven", "build/release/vrelease.vbc")])format_build_summary(build_results)
Renders build_results as one human-readable, line-per-source summary.
format_build_summary([build_source("stdlib/release.ven", "build/release/vrelease.vbc")])run_gate_test(test_path)
Runs one test file via bin/venutian run and checks its real exit code.
run_gate_test("tests/vrelease_test.ven")run_gate_tests(test_paths)
Runs every test in test_paths as the release's test gate.
run_gate_tests(["tests/vrelease_test.ven"])tests_all_passed(gate_results)
Tests whether every result in gate_results has "ok" set to yes.
tests_all_passed([run_gate_test("tests/vrelease_test.ven")])format_gate_summary(gate_results)
Renders gate_results as one human-readable, line-per-test summary.
format_gate_summary([run_gate_test("tests/vrelease_test.ven")])checksum_of_file(path)
checksum_of_file("build/release/vrelease.vbc")checksum_manifest(paths)
checksum_manifest(["build/release/vrelease.vbc"])format_checksums_text(checksums)
Renders checksums as a plain "<hash> <basename>" text file, one line per path.
format_checksums_text(checksum_manifest(["build/release/vrelease.vbc"]))save_checksums_file(path, checksums)
Writes checksums to path as a plain checksums text file.
save_checksums_file("build/release/checksums.txt", checksum_manifest(["build/release/vrelease.vbc"]))verify_checksums(checksums)
Recomputes and compares each path in checksums against its expected hash.
verify_checksums(checksum_manifest(["build/release/vrelease.vbc"]))checksums_all_ok(results)
Tests whether every result in results has "ok" set to yes.
checksums_all_ok(verify_checksums(checksum_manifest(["build/release/vrelease.vbc"])))new_release_manifest(name, version)
Builds a fresh release manifest for name at version, with an empty artifacts list.
new_release_manifest("venutian", "1.2.0")add_artifact(manifest, path, checksum)
Appends one artifact entry (base name plus checksum) to manifest, in place.
add_artifact(new_release_manifest("venutian", "1.2.0"), "build/release/vrelease.vbc", "abc123")save_release_manifest(path, manifest)
Writes manifest to path as pretty-printed JSON.
save_release_manifest("release.json", new_release_manifest("venutian", "1.2.0"))load_release_manifest(path)
Reads and decodes the release manifest at path.
load_release_manifest("release.json")package_release(archive_path, file_paths)
Packages file_paths into a single local zip archive at archive_path.
package_release("build/release/venutia-1.2.0.zip", ["build/release/vrelease.vbc"])release(name, version, source_paths, test_paths, work_dir)
Runs the whole build/gate/package pipeline: build sources, run tests, then package a local zip.
release("venutian", "1.2.0", ["stdlib/release.ven"], ["tests/vrelease_test.ven"], "build/release")release_failure(stage, build_results, gate_results)
Builds a failed-release result map for the given stage.
release_failure("build", [build_source("stdlib/release.ven", "build/release/vrelease.vbc")], [])verify_release(archive_path, extract_dir)
Extracts a packaged archive fresh and re-verifies every artifact's checksum from disk.
verify_release("build/release/venutia-1.2.0.zip", "build/release/verify")format_release_summary(result)
Renders a release result as one human-readable summary Text.
format_release_summary(release("venutian", "1.2.0", ["stdlib/release.ven"], ["tests/vrelease_test.ven"], "build/release"))