2.2 KiB
2.2 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 manually)
Release notes template is created in releases/{VERSION}/RELEASE_NOTES.md.
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