Skip to main content

max / audiofiles

1.3 KB · 33 lines History Blame Raw
1 // audiofiles, Linux release recipe for Bento (x86_64 on fw13, aarch64 on astra).
2 //
3 // One recipe, both arches via build_host(). audiofiles ships its own
4 // self-contained dist scripts: build-appimage.sh and build-deb.sh, each of which
5 // runs `cargo build -p audiofiles-app` and emits its artifact into dist/
6 // (AudioFiles-<version>-<arch>.AppImage, audiofiles_<version>_<arch>.deb). We
7 // run both, then collect the results into Bento's dist tree.
8
9 let h = build_host();
10 let v = version();
11 let r = repo();
12
13 step("checkout");
14 sh_ok(h, "cd " + r + " && git pull --ff-only");
15
16 // Gate: no artifact is built from code that fails clippy or its tests. It runs
17 // on this target's own build host, so a break confined to one platform is
18 // caught where it would have shipped.
19 step("prebuild");
20 sh_ok(h, "cd " + r + " && cargo clippy --workspace --all-targets " + feature_flags() + " -- -D warnings");
21 sh_ok(h, "cd " + r + " && cargo test --workspace " + feature_flags());
22
23 step("build");
24 sh_ok(h, "cd " + r + " && ./dist/build-appimage.sh");
25 sh_ok(h, "cd " + r + " && ./dist/build-deb.sh");
26
27 step("collect");
28 let appimage = resolve_artifact(h, r + "/dist/*.AppImage");
29 collect(h, appimage, "audiofiles", v);
30 let deb = resolve_artifact_opt(h, r + "/dist/*.deb");
31 if deb != "" { collect(h, deb, "audiofiles", v); }
32 log("audiofiles " + target() + " v" + v + " collected.");
33