Single-page BUC calculator for assembly build-up cost modelling.
Find a file
Taylor Blackburn f1ce2e5b25
All checks were successful
build-and-deploy / build (push) Successful in 26s
build-and-deploy / deploy-dev (push) Successful in 23s
ci: serialize same-branch runs to stop spurious cancellations
Forgejo Actions auto-cancels older in-progress runs that share a
workflow + ref when a new push lands. Back-to-back pushes to master
will end up with the older run's deploy + close-tasks jobs marked
"Has been cancelled" and silently dropping TASK closures. Add an
explicit per-ref concurrency group with cancel-in-progress=false so
back-to-back pushes queue instead of preempting each other.

Mirrors the fix shipped in notes-app for BUG-095 / TASK-273.
2026-05-11 22:25:37 -07:00
.forgejo/workflows ci: serialize same-branch runs to stop spurious cancellations 2026-05-11 22:25:37 -07:00
.dockerignore Initial extraction from gsm-tools/ subdir 2026-05-11 19:53:25 -07:00
.gitignore Initial extraction from gsm-tools/ subdir 2026-05-11 19:53:25 -07:00
chip-samples.html Initial extraction from gsm-tools/ subdir 2026-05-11 19:53:25 -07:00
data.json Initial extraction from gsm-tools/ subdir 2026-05-11 19:53:25 -07:00
Dockerfile Initial extraction from gsm-tools/ subdir 2026-05-11 19:53:25 -07:00
index.html Initial extraction from gsm-tools/ subdir 2026-05-11 19:53:25 -07:00
README.md Initial extraction from gsm-tools/ subdir 2026-05-11 19:53:25 -07:00
server.py Initial extraction from gsm-tools/ subdir 2026-05-11 19:53:25 -07:00

BUC Calculator

Single-page calculator for assembly BUC (build-up cost) modelling. State persists in SQLite.

Run locally

python server.py
# → http://localhost:8070

Pure stdlib no uv sync, no pip install. The DB defaults to ./buc.db; override with BUC_DB_PATH=/path/to/buc.db.

Deploy

git push deploy master (Forgejo) → buc.gsm.esseintes.ch. Workflow lives at .forgejo/workflows/deploy-dev.yml. The container persists /data/buc.db on a host volume.