2.0 KiB
2.0 KiB
08 — Build & Release
CLI flags
Defined in cmd/logpile/main.go:
| Flag | Default | Purpose |
|---|---|---|
--port |
8082 |
HTTP server port |
--file |
empty | Preload archive file |
--version |
false |
Print version and exit |
--no-browser |
false |
Do not auto-open browser |
--hold-on-crash |
true on Windows |
Keep console open after fatal crash |
Common commands
make build
make build-all
make test
make fmt
make update-pci-ids
Notes:
make buildoutputsbin/logpilemake build-allbuilds the supported cross-platform binariesmake buildandmake build-allrunscripts/update-pci-ids.sh --best-effortunlessSKIP_PCI_IDS_UPDATE=1
PCI IDs
Source submodule: third_party/pciids
Embedded copy: internal/parser/vendors/pciids/pci.ids
Typical setup after clone:
git submodule update --init third_party/pciids
Release script
Run:
./scripts/release.sh
Current behavior:
- Reads version from
git describe --tags - Refuses a dirty tree unless
ALLOW_DIRTY=1 - Sets stable Go cache/toolchain environment
- Creates
releases/{VERSION}/ - Creates a release-notes template if missing
- Builds
darwin-arm64andwindows-amd64 - Packages any already-present binaries from
bin/ - Generates
SHA256SUMS.txt
Important limitation:
scripts/release.shdoes not runmake build-allfor you- if you want Linux or additional macOS archives in the release directory, build them before running the script
Toolchain note:
scripts/release.shdefaultsGOTOOLCHAIN=localto use the already installed Go toolchain and avoid implicit network downloads during release builds- if you intentionally want another toolchain, pass it explicitly, for example
GOTOOLCHAIN=go1.24.0 ./scripts/release.sh
Run locally
./bin/logpile
./bin/logpile --port 9090
./bin/logpile --no-browser
./bin/logpile --version
macOS Gatekeeper
xattr -d com.apple.quarantine /path/to/logpile-darwin-arm64