feat(rubick): rename project and add production release bundle

This commit is contained in:
Muhammad Firas 2026-03-06 03:12:28 +07:00
commit fab6cf26eb
No known key found for this signature in database
33 changed files with 11554 additions and 0 deletions

49
Makefile Normal file
View file

@ -0,0 +1,49 @@
APP_NAME := rubick
BIN_DIR := bin
APP_BIN := $(BIN_DIR)/$(APP_NAME)
.PHONY: help setup build run test test-go test-py test-live e2e release clean
help:
@echo "Targets:"
@echo " setup Install Go/Python dependencies"
@echo " build Build CLI binary into ./bin"
@echo " run Run compiled binary: make run ARGS='msn lookup BBCA'"
@echo " test Run Go and Python tests"
@echo " test-go Run Go tests"
@echo " test-py Run Python tests"
@echo " test-live Run live network tests (requires .env and RUN_LIVE_E2E=1)"
@echo " e2e Timestamped deterministic e2e run under output/<timestamp>"
@echo " release Build distributable bundle under dist/ (VERSION=vX.Y.Z make release)"
@echo " clean Remove local build artifacts"
setup:
go mod download
uv sync
build:
mkdir -p $(BIN_DIR)
go build -o $(APP_BIN) ./cmd/rubick
run: build
./$(APP_BIN) $(ARGS)
test: test-go test-py
test-go:
go test -v ./...
test-py:
uv run python -m unittest discover -s tests -p 'test_*.py'
test-live:
set -a; source .env; set +a; RUN_LIVE_E2E=1 go test -v ./tests/go -run TestLive
e2e: build
set -a; source .env; set +a; bash scripts/e2e_run.sh ./$(APP_BIN)
release:
bash scripts/release_bundle.sh $(VERSION)
clean:
rm -rf $(BIN_DIR)