Перейти к содержимому

devenv: a real project in one command (12 processes, readiness checks, devenv test, CI)

blickflick

0:00 / 0:00

devenv: a real project in one command (12 processes, readiness checks, devenv test, CI)

11 просмотров · 2 дня назад
blickflick
7 подписчиков
11 просмотров · 2 дня назад
Make a real project's "one command" work on a machine that isn't its author's. This episode takes hashpool, an open-source Bitcoin mining pool with twelve processes started by devenv up, to a fresh machine, traces each failure to something that came from outside the project, and pins it in the project or puts a check on it. What you'll learn: A newer devenv on a 2025 lock: one setting to get in, then devenv update (new modules, Rust 1.86 to 1.98) A cargo git dependency that hangs on SSH: an insteadOf rewrite set in the project's environment, and git in packages, since the shell falls through to the machine's own tools Running isn't ready: devenv processes wait, the built-in process manager, after instead of wait loops, and exec ready checks A test anyone can run: --clean, devenv test with enterTest and the git hooks, and a mint broken on purpose A coding agent on the stack: background start, wait, logs and restart as commands, and a Stop hook that runs a quick cargo check A Mac and CI: sha256-TODO hashes filled with nix store prefetch-file, a GitHub Actions workflow run locally, and devenv gc after finding the GC root that kept the old Rust Chapters: 00:00 Intro 02:04 Somewhere new 04:42 One command 05:38 Ready for whom? 08:10 A test 09:27 The agent 10:20 There, too 11:37 Left behind 12:27 Recap Shown with devenv 2.4.0, recorded on Linux. Project: hashpool by vnprc, https://forge.anarch.diy/vnprc/hashpool (commit a5b5610). Previous: The handoff: package, image. Unofficial tutorial, not affiliated with Cachix, the devenv project or hashpool. Docs: https://devenv.sh