Replace the Docker availability check with an installation step in the
docker publish workflow. This ensures image builds can run on runners
where Docker is not preinstalled.ci(workflow): install Docker before Docker image build
Replace the Docker availability check with an installation step in the
docker publish workflow. This ensures image builds can run on runners
where Docker is not preinstalled.
Replace the outdated top-level file tree with a package-focused code structure
section that reflects the current `lib/*` layout and responsibilities.
Add a Gitea workflow section describing tagged Docker publish behavior, image
tags, test step, and runner requirements so release automation is clear and
repeatable.docs(readme): document new code structure and CI publish
Replace the outdated top-level file tree with a package-focused code structure
section that reflects the current `lib/*` layout and responsibilities.
Add a Gitea workflow section describing tagged Docker publish behavior, image
tags, test step, and runner requirements so release automation is clear and
repeatable.
Replace in-file bootstrap logic with package-level constructors in `run`:
- use `config.Load()` instead of local env parsing/AppConfig helpers
- use `store.Open()` and `web.New()` for persistence and app wiring
- rename local store variable to `benchmarkStore` for clarity
This centralizes startup concerns in dedicated modules, reducing `main.go` boilerplate and improving maintainability.refactor(main): delegate setup to config, store, and web packages
Replace in-file bootstrap logic with package-level constructors in `run`:
- use `config.Load()` instead of local env parsing/AppConfig helpers
- use `store.Open()` and `web.New()` for persistence and app wiring
- rename local store variable to `benchmarkStore` for clarity
This centralizes startup concerns in dedicated modules, reducing `main.go` boilerplate and improving maintainability.