Public release release-09ca780bd67a

Source commit: 09ca780bd67a00467e78139cf38466b8201b66ca

Public tree identity: sha256:2f744c260b5fc2cf074ad9129f97f87f03714902e5b9fe174128afdc342ec2d0
This commit is contained in:
Clusterflux release 2026-07-19 18:38:40 +02:00
commit eb1077f380
221 changed files with 81144 additions and 0 deletions

View file

@ -0,0 +1,80 @@
const assert = require("assert");
const cp = require("child_process");
const fs = require("fs");
const path = require("path");
const repo = path.resolve(__dirname, "..");
const hello = path.join(repo, "examples/hello-build");
const recovery = path.join(repo, "examples/recovery-build");
const conformance = path.join(repo, "tests/fixtures/runtime-conformance");
const source = fs.readFileSync(path.join(hello, "src/lib.rs"), "utf8");
const nonblank = source.split(/\r?\n/).filter((line) => line.trim()).length;
assert(nonblank <= 80, "hello-build source must stay below 80 nonblank lines");
for (const forbidden of [
"#[cfg",
"unsafe",
"extern \"C\"",
"no_mangle",
"sha256:",
".task_id(",
"#[test]",
"unwrap()",
"expect(",
]) {
assert(!source.includes(forbidden), "hello-build leaked implementation detail: " + forbidden);
}
assert.strictEqual((source.match(/#\[clusterflux::task/g) || []).length, 1);
assert.strictEqual((source.match(/#\[clusterflux::main/g) || []).length, 1);
assert(source.includes("source::current_project().snapshot().await?"));
assert(source.includes("clusterflux::spawn!(compile(source))"));
assert(source.includes(".on(clusterflux::env!(\"linux\"))"));
assert(source.includes(".run()"));
assert(source.includes("fs::publish"));
assert(fs.existsSync(path.join(hello, "fixture/hello-clusterflux.c")));
assert(fs.existsSync(path.join(hello, "envs/linux/Containerfile")));
const recoverySource = fs.readFileSync(path.join(recovery, "src/lib.rs"), "utf8");
assert.strictEqual((recoverySource.match(/spawn!\(build_lane/g) || []).length, 2);
assert(recoverySource.includes("TaskFailurePolicy::AwaitOperator"));
assert(recoverySource.includes("\"exit 23\""));
for (const forbidden of ["#[cfg", "unsafe", "extern \"C\"", "no_mangle", ".task_id("]) {
assert(!recoverySource.includes(forbidden), "recovery-build leaked " + forbidden);
}
const fixtureSource = fs.readFileSync(path.join(conformance, "src/lib.rs"), "utf8");
assert(fixtureSource.includes("task_trap"));
assert(fixtureSource.includes("cooperative_cancellation_probe"));
assert(!fs.existsSync(path.join(repo, "examples", "launch-" + "build-demo")));
assert(!fs.existsSync(path.join(hello, "src/bin/sdk-product-runtime.rs")));
const args = [
"run",
"-q",
"-p",
"clusterflux-cli",
"--bin",
"clusterflux",
"--",
"build",
"--project",
hello,
"--json",
];
const report = JSON.parse(cp.execFileSync("cargo", args, {
cwd: repo,
env: process.env,
encoding: "utf8",
}));
assert(report.bundle_artifact);
assert(report.bundle.metadata.selected_inputs.some((input) => input.path === "src/lib.rs"));
assert(report.bundle.metadata.task_metadata.entrypoints.includes("build"));
const tasks = JSON.parse(
fs.readFileSync(
path.resolve(repo, report.bundle_artifact.directory, "task-descriptors.json"),
"utf8"
)
);
assert(tasks.some((task) => task.name === "compile"));
assert(tasks.some((task) => task.name === "snapshot_current_project"));
console.log("primary and recovery example smoke passed");