Some checks are pending
check / check (pull_request) Blocked by required conditions
Add the canonical .golangci.yml (v2 layout, default: all with the standard disable list) and pin golangci-lint v2.12.2 in the Makefile deps target using the v2 module path, replacing the @latest install on the old v1 path. The Dockerfile lint stage already pinned the v2.12.2 alpine image by digest and is unchanged. Fix all issues surfaced by the strict config: - err113: introduce wrapped static sentinel errors - gocognit/funlen/nestif: split ExtractDay, Run, DumpAndCompress, VerifyOutput, and the CLI flag parsing into smaller helpers - noctx: use ExecContext/QueryContext/BeginTx and CommandContext - noinlineerr: replace inline if-err assignments with plain ones - wsl_v5/nlreturn: add required blank lines - lll: wrap long lines and SQL strings - gosec: filepath.Clean on file open/create; bounded uint64 conversion in CheckFreeSpace; named output dir permission constant - mnd: use unix.FADV_* constants and named size constants - revive: add package and exported symbol comments - testpackage/paralleltest: move smoke test to bsdaily_test with t.Parallel() - nonamedreturns: drop non-error named returns The remaining nolint directives (gosec subprocess launches with internal paths, unqueryvet full-row SELECT * copies whose schema is defined by the source database) are each justified inline.
1.8 KiB
1.8 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.mdchanges in the same commit as the work) - merge to
mainif the branch is not protected, otherwise open a PR - push
Status
pre-1.0
Next Step
Bring the repo into policy compliance in one commit: add .gitignore,
.dockerignore, .editorconfig, and .golangci.yml. Verify make check stays
green with the new lint config.
Completed Steps
- 2026-08-07: Added canonical
.golangci.yml; pinned golangci-lint v2.12.2 in theMakefiledepstarget (v2 module path, replacing@lateston the old v1 path); fixed all lint issues surfaced by the strict config acrosscmd/bsdailyandinternal/bsdaily. - 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
- Add .gitignore, .dockerignore, .editorconfig, .golangci.yml (the Next Step).
- Expand tests beyond the compilation smoke test: unit tests for the extraction, verification, and atomic-publish paths.
- Cut a first SemVer release once compliance and test coverage land.