Files
bsdaily/TODO.md
T
clawbot f5c7614768
check / check (push) Waiting to run
Stamp the git tag or short commit into the binary (closes #4)
A plain `docker build .` now stamps bsdaily's version: the VERSION
build argument when one is given, otherwise `git describe --tags
--always` on the .git in the build context, as the canonical
Dockerfile does. The build fails if .git is there and the version
still comes out empty, dev or unknown. A host `make` build stamps the
same `git describe`, or dev. bsdaily logs the version on the first
line of every run and prints it with --version; a build that stamps
nothing, or an empty value, reports dev.

Judgement call: the build line also takes the canonical -trimpath and
-s -w.
One //nolint (gochecknoglobals): -X can only set a package-level
variable.

Model: opus-5-5
Co-authored-by: clawbot <sneak+clawbot@sneak.cloud>
2026-10-06 18:41:51 +02:00

2.3 KiB

Workflow

  • branch (from main)
  • do the work in Next Step
  • move Next Step to the top of Completed Steps
  • move the top item of Future Steps into Next Step
  • commit (TODO.md changes in the same commit as the work)
  • merge to main if the branch is not protected, otherwise open a PR
  • push

Status

pre-1.0

Next Step

Expand tests beyond the compilation smoke test: unit tests for the extraction, verification, and atomic-publish paths.

Completed Steps

  • 2026-10-06: A plain docker build . and a host make build stamp the git tag or short commit into the binary, which bsdaily logs on the first line of every run and prints with --version (#4).
  • 2026-10-06: Added the canonical .golangci.yml, moved the lint phase to golangci-lint v2.14.0, and fixed the code to pass it (#6).
  • 2026-10-06: Formatted Markdown with prettier: script/fmt writes and script/fmt-check checks every Markdown file; prettier pinned in package.json and yarn.lock, installed by script/bootstrap, which installs node and yarn at pinned versions when absent and otherwise uses the ones already installed; existing Markdown reformatted.
  • 2026-10-05: Brought the repo up to the standard layout: canonical .gitignore, .dockerignore and .editorconfig; lint and test phases in the Dockerfile, built by script/lint and script/test; canonical script/cibuild, script/docker and CI workflow; no linter installed on the host; re-vendored REPO_POLICIES.md.
  • 2026-07-07 Adopted scripts-to-rule-them-all: script/ entrypoints, Makefile shims, README Entrypoints section
  • 2026-06-28: Fixed errcheck lint failures; added compilation smoke test; tidied go.mod.
  • 2026-06-28: Added repo scaffolding: README, LICENSE, Makefile, Dockerfile, REPO_POLICIES.md, and Gitea CI.
  • 2026-02-12: Fixed SQLite database locking by removing parallel processing; fixed Linux build via golang.org/x/sys/unix Fadvise.
  • 2026-02-12: Optimized file copy for large databases; moved temp directory to NVMe scratch storage.
  • 2026-02-11: Added date range support.
  • 2026-02-09: Initial implementation: single-day extraction, specific-date targeting, faster pruning of throwaway database copies.

Future Steps

  • Cut a first SemVer release once compliance and test coverage land.