mirror of
https://github.com/sonr-io/sonr.git
synced 2026-08-03 01:41:44 +00:00
@@ -0,0 +1,110 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
# Version and build information
|
||||
GIT_ROOT := $(shell git rev-parse --show-toplevel)
|
||||
VERSION := $(shell echo $(shell git describe --tags 2>/dev/null || echo "dev") | sed 's/^v//')
|
||||
COMMIT := $(shell git log -1 --format='%H')
|
||||
|
||||
BUMP_LEVEL := PATCH
|
||||
|
||||
# Build configuration
|
||||
BUILD_FLAGS := -trimpath
|
||||
|
||||
# Linker flags for version info
|
||||
ldflags = -X main.Version=$(VERSION) \
|
||||
-X main.Commit=$(COMMIT) \
|
||||
-s -w
|
||||
|
||||
BUILD_FLAGS += -ldflags '$(ldflags)'
|
||||
HWAY_OUT := $(GIT_ROOT)/build/hway
|
||||
|
||||
.PHONY: all build install clean test version help docker
|
||||
|
||||
all: build
|
||||
|
||||
build:
|
||||
ifeq ($(OS),Windows_NT)
|
||||
$(error hway server not supported on Windows)
|
||||
else
|
||||
@echo "Building Highway service..."
|
||||
@go build -mod=readonly $(BUILD_FLAGS) -o $(HWAY_OUT) .
|
||||
@echo "Binary built: ../../build/hway"
|
||||
endif
|
||||
|
||||
install:
|
||||
ifeq ($(OS),Windows_NT)
|
||||
$(error hway server not supported on Windows)
|
||||
else
|
||||
@echo "Installing Highway service..."
|
||||
@go install -mod=readonly $(BUILD_FLAGS) .
|
||||
@echo "Binary installed to $(GOPATH)/bin/hway"
|
||||
endif
|
||||
|
||||
tidy:
|
||||
@echo "Tidying Go module..."
|
||||
@go mod tidy
|
||||
|
||||
clean:
|
||||
@echo "Cleaning build artifacts..."
|
||||
@rm -f $(HWAY_OUT)
|
||||
@echo "Clean complete"
|
||||
|
||||
test:
|
||||
@echo "Running Highway service tests..."
|
||||
@go test -v -race ./...
|
||||
|
||||
release:
|
||||
@echo "Creating hway release..."
|
||||
@cd $(GIT_ROOT) && cz --config cmd/hway/.cz.toml --no-raise 6,21 bump --yes --increment PATCH
|
||||
|
||||
snapshot:
|
||||
@echo "Dry-Run Bumping Highway version..."
|
||||
@cd $(GIT_ROOT) && cz --config cmd/hway/.cz.toml bump --yes --no-verify --dry-run --increment PATCH
|
||||
@echo "Creating hway snapshots for all platforms..."
|
||||
@cd $(GIT_ROOT) && goreleaser release --snapshot --clean -f cmd/hway/.goreleaser.yml
|
||||
|
||||
# Docker build targets
|
||||
docker:
|
||||
@echo "Building Highway Docker image..."
|
||||
@docker build -f Dockerfile -t onsonr/hway:latest -t ghcr.io/sonr-io/hway:latest ../..
|
||||
@echo "Docker image built and tagged:"
|
||||
@echo " - onsonr/hway:latest"
|
||||
@echo " - ghcr.io/sonr-io/hway:latest"
|
||||
|
||||
docker-local:
|
||||
@echo "Building Highway Docker image with local context..."
|
||||
@docker build -f Dockerfile -t onsonr/hway:local -t ghcr.io/sonr-io/hway:local ../..
|
||||
@echo "Docker image built and tagged:"
|
||||
@echo " - onsonr/hway:local"
|
||||
@echo " - ghcr.io/sonr-io/hway:local"
|
||||
|
||||
version:
|
||||
@echo "Highway Service"
|
||||
@echo "==============="
|
||||
@echo "Version: $(VERSION)"
|
||||
@echo "Commit: $(COMMIT)"
|
||||
|
||||
help:
|
||||
@echo "Highway Service Makefile"
|
||||
@echo "========================"
|
||||
@echo ""
|
||||
@echo "Highway is an Asynq-based task processing service for vault operations,"
|
||||
@echo "using Redis-backed job queues and Proto.Actor framework for concurrency."
|
||||
@echo ""
|
||||
@echo "Available targets:"
|
||||
@echo " build - Build Highway binary (default)"
|
||||
@echo " install - Install Highway to GOPATH/bin"
|
||||
@echo " docker - Build Docker image (onsonr/hway:latest)"
|
||||
@echo " clean - Remove build artifacts"
|
||||
@echo " test - Run Highway tests"
|
||||
@echo " version - Display version information"
|
||||
@echo " help - Show this help message"
|
||||
@echo ""
|
||||
@echo "Requirements:"
|
||||
@echo " - Redis server running on 127.0.0.1:6379"
|
||||
@echo " - IPFS nodes for vault operations"
|
||||
@echo ""
|
||||
@echo "Examples:"
|
||||
@echo " make build # Build the Highway service"
|
||||
@echo " make test # Run tests"
|
||||
@echo " make install # Install to GOPATH/bin"
|
||||
Reference in New Issue
Block a user