git clone https://github.com/chainguard-dev/omnibump
cd omnibump
make build
sudo make installgit clone https://github.com/chainguard-dev/omnibump
cd omnibump
go build -o omnibump .
sudo mv omnibump /usr/local/bin/omnibump versionThe Makefile provides several useful targets for building and developing omnibump.
# Build the binary with version information embedded
make buildThe build process automatically injects version information using ldflags:
GIT_VERSION- Git tag or commit (e.g.,v1.0.0orabc1234)GIT_COMMIT- Short commit hashGIT_TREE_STATE- Whether the working tree is clean or dirtyBUILD_DATE- Timestamp of the build
Example output:
Building omnibump...
Version: v1.0.0-3-gabc1234-dirty
Commit: abc1234
Tree State: dirty
Build Date: 2025-11-12T14:23:45Z
Build complete: ./omnibump
# Install to $GOPATH/bin (typically ~/go/bin)
make installThis builds the binary with version information and installs it to your Go binary path.
# Run all tests
make test
# Run tests with coverage report (generates coverage.html)
make test-coverageThe test-coverage target creates an HTML coverage report that you can open in your browser.
# Format Go code
make fmt
# Tidy and verify go modules
make tidy
# Vendor dependencies (creates vendor/ directory)
make vendor
# Run golangci-lint (if installed)
make lint# Remove built binaries and clean build artifacts
make clean# Display version information that will be embedded in the binary
make version
# Build and run the version command
make run-versionExample version output:
Version Information:
GIT_VERSION: v1.0.0
GIT_COMMIT: abc1234
GIT_TREE_STATE: clean
BUILD_DATE: 2025-11-12T14:23:45Z
# Display all available make targets with descriptions
make help