- Create docs/bible/ with 10 structured chapters (overview, architecture, API, data models, collectors, parsers, exporters, build, testing, decisions) - All documentation in English per ADL-007 - Record all existing architectural decisions in docs/bible/10-decisions.md - Slim README.md to user-facing quick start only - Replace CLAUDE.md with a single directive to read and follow the Bible - Remove absorbed files: REANIMATOR_EXPORT.md, docs/INTEGRATION_GUIDE.md, and all vendor parser README.md files Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.3 KiB
2.3 KiB
08 — Build & Release
CLI flags
Defined in cmd/logpile/main.go:
| Flag | Default | Description |
|---|---|---|
--port |
8082 |
HTTP server port |
--file |
— | Reserved for archive preload (not active) |
--version |
— | Print version and exit |
--no-browser |
— | Do not open browser on start |
--hold-on-crash |
true on Windows |
Keep console open on fatal crash for debugging |
Build
# Local binary (current OS/arch)
make build
# Output: bin/logpile
# Cross-platform binaries
make build-all
# Output:
# bin/logpile-linux-amd64
# bin/logpile-linux-arm64
# bin/logpile-darwin-amd64
# bin/logpile-darwin-arm64
# bin/logpile-windows-amd64.exe
Both make build and make build-all run scripts/update-pci-ids.sh --best-effort
before compilation to sync pci.ids from the submodule.
To skip PCI IDs update:
SKIP_PCI_IDS_UPDATE=1 make build
Build flags: CGO_ENABLED=0 — fully static binary, no C runtime dependency.
PCI IDs submodule
Source: third_party/pciids (git submodule → github.com/pciutils/pciids)
Local copy embedded at build time: internal/parser/vendors/pciids/pci.ids
# Manual update
make update-pci-ids
# Init submodule after fresh clone
git submodule update --init third_party/pciids
Release process
scripts/release.sh
What it does:
- Reads version from
git describe --tags - Validates clean working tree (override:
ALLOW_DIRTY=1) - Sets stable
GOPATH/GOCACHE/GOTOOLCHAINenv - Creates
releases/{VERSION}/directory - Generates
RELEASE_NOTES.mdtemplate if not present - Builds
darwin-arm64andwindows-amd64binaries - Packages all binaries found in
bin/as.tar.gz/.zip - Generates
SHA256SUMS.txt - Prints next steps (tag, push, create release on git.mchus.pro)
Release notes live in docs/releases/<tag>.md.
Tags and releases are published with tea.
Running
./bin/logpile
./bin/logpile --port 9090
./bin/logpile --no-browser
./bin/logpile --version
./bin/logpile --hold-on-crash # keep console open on crash (default on Windows)
macOS Gatekeeper
After downloading a binary, remove the quarantine attribute:
xattr -d com.apple.quarantine /path/to/logpile-darwin-arm64