check / check (push) Waiting to run
cmd/bsdaily/main.go now only passes Version to cli.Main and exits with the status it returns, as REPO_POLICIES.md requires of cmd/. The cobra command, the flag rules and the date parsing moved unchanged into internal/cli, so flags, help text, error messages, exit status and the first log line stay as they were. The fallback to dev for an empty version moved with them into cli.Main. parseTargetDates is exported as ParseTargetDates so that a table test outside the package can reach it; the test never touches the filesystem or runs the extraction. README describes the new layout and TODO.md records the step. Model: opus-5-5
60 lines
2.6 KiB
Markdown
60 lines
2.6 KiB
Markdown
# 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 the `internal/bsdaily` tests beyond the compilation smoke test: unit
|
|
tests for the extraction, verification, and atomic-publish paths.
|
|
|
|
# Completed Steps
|
|
|
|
- 2026-10-06: Moved the command line (flags, the rules for combining them, date
|
|
parsing) from `cmd/bsdaily` into `internal/cli`, with unit tests for the flag
|
|
rules and the dates; `cmd/bsdaily/main.go` is now a single call into it
|
|
(https://git.eeqj.de/sneak/bsdaily/issues/8).
|
|
- 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`
|
|
(https://git.eeqj.de/sneak/bsdaily/issues/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
|
|
(https://git.eeqj.de/sneak/bsdaily/issues/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.
|