Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 16 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@
### Makefile Helpers ###
########################

# TODO(@olshansk): Remove "Shannon" and just use "Pocket".

.PHONY: list
list: ## List all make targets
@${MAKE} -pRrn : -f $(MAKEFILE_LIST) 2>/dev/null | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | egrep -v -e '^[^[:alnum:]]' -e '^$@$$' | sort
Expand Down Expand Up @@ -47,6 +45,22 @@ check_path_config:
path_run: path_build check_path_config ## Run the path binary as a standalone binary
(cd bin; ./path -config ../${CONFIG_PATH})

################################
### Development Convenience ###
################################

.PHONY: dev
dev: path_build test_unit ## Quick development cycle: build + test

.PHONY: check
check: go_lint test_unit ## Comprehensive quality checks (linting + tests)

.PHONY: ci
ci: go_lint test_unit ## Run full CI pipeline locally

.PHONY: pre_commit
pre_commit: go_lint test_unit ## Run pre-commit checks

###############################
### Makefile imports ###
###############################
Expand Down
3 changes: 3 additions & 0 deletions makefiles/docs.mk
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ go_docs: ## Start Go documentation server
docusaurus_start: ## Start docusaurus server
(cd docusaurus && yarn install && yarn start --port 4000)

.PHONY: docs_serve
docs_serve: docusaurus_start ## Start documentation server (alias for docusaurus_start)

# Uses https://github.com/PaloAltoNetworks/docusaurus-openapi-docs to generate OpenAPI docs.
# This is a custom plugin for Docusaurus that allows us to embed the OpenAPI spec into the docs.
# Outputs docs files to docusaurus/docs/learn/api/*.mdx
Expand Down
25 changes: 12 additions & 13 deletions makefiles/helpers.mk
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,20 @@
git_fetch_prune_tags: ## Sync local tags to remote
git fetch --prune --prune-tags origin

.PHONY: shannon_preliminary_services_test_help
shannon_preliminary_services_test_help: ## Run shannon preliminary services test to verify service availability
./e2e/scripts/shannon_preliminary_services_test.sh --help

.PHONY: shannon_preliminary_services_test
shannon_preliminary_services_test: ## Run shannon preliminary services test to verify service availability
@echo "💡 Usage: ./e2e/scripts/shannon_preliminary_services_test.sh [--help]"
./e2e/scripts/shannon_preliminary_services_test.sh

.PHONY: source_shannon_preliminary_services_helpers
source_shannon_preliminary_services_helpers: ## Source shannon preliminary services helpers
@echo "Run the following command to source shannon preliminary services helpers:"
@echo ""
@echo "\$$ source ./e2e/scripts/shannon_preliminary_services_helpers.sh"
.PHONY: shannon_services_helpers
shannon_services_helpers: ## Instructions for Shannon service helper functions
@echo "################################################################"
@echo "Shannon Service Helper Functions"
@echo "################################################################"
@echo "Source the helper functions:"
@echo " $$ source ./e2e/scripts/shannon_preliminary_services_helpers.sh"
@echo ""
@echo "Then, try running one of the following commands:"
@echo " \$$ shannon_query_services_by_owner --help"
@echo " \$$ shannon_query_service_tlds_by_id --help"
@echo ""
@echo "Available functions:"
@echo " $$ shannon_query_services_by_owner --help"
@echo " $$ shannon_query_service_tlds_by_id --help"
@echo "################################################################"
4 changes: 2 additions & 2 deletions makefiles/localnet.mk
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@

# Brings up local Tilt environment with remote helm charts
.PHONY: path_up
path_up: check_docker ## Brings up local Tilt development environment in Docker
path_up: path_build check_docker ## Brings up local Tilt development environment in Docker
@./local/scripts/localnet.sh up

# Brings up local Tilt environment with local helm charts
.PHONY: path_up_local_helm
path_up_local_helm: check_docker ## Brings up local Tilt environment with local helm charts
path_up_local_helm: path_build check_docker ## Brings up local Tilt environment with local helm charts
@./local/scripts/localnet.sh up --use-local-helm

.PHONY: check_docker
Expand Down
18 changes: 11 additions & 7 deletions makefiles/test.mk
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@
### Test Make Targets ###
#########################

###################
### Unit & Lint ###
###################

.PHONY: test_all ## Run all unit tests and E2E test a subset of key services.
test_all: test_unit
@$(MAKE) e2e_test eth,poly,xrplevm-testnet,oasys
Expand All @@ -17,16 +21,16 @@ test_unit: ## Run all unit tests
go_lint: ## Run all go linters
golangci-lint run --timeout 5m --build-tags test

#################
##################
### E2E Tests ###
#################
##################

.PHONY: e2e_test_all
e2e_test_all: shannon_e2e_config_warning ## Run an E2E Shannon relay test for all service IDs
e2e_test_all: path_build shannon_e2e_config_warning ## Run an E2E Shannon relay test for all service IDs
(cd e2e && TEST_MODE=e2e TEST_PROTOCOL=shannon go test -v -tags=e2e -count=1 -run Test_PATH_E2E)

.PHONY: e2e_test
e2e_test: shannon_e2e_config_warning ## Run an E2E Shannon relay test with specified service IDs (e.g. make shannon_test_e2e eth,xrplevm)
e2e_test: path_build shannon_e2e_config_warning ## Run an E2E Shannon relay test with specified service IDs (e.g. make shannon_test_e2e eth,xrplevm)
@if [ "$(filter-out $@,$(MAKECMDGOALS))" = "" ]; then \
echo "❌ Error: Service IDs are required (comma-separated list)"; \
echo " 👀 Example: make test_e2e_evm_shannon eth,xrplevm"; \
Expand All @@ -36,7 +40,7 @@ e2e_test: shannon_e2e_config_warning ## Run an E2E Shannon relay test with speci
(cd e2e && TEST_MODE=e2e TEST_PROTOCOL=shannon TEST_SERVICE_IDS=$(filter-out $@,$(MAKECMDGOALS)) go test -v -tags=e2e -count=1 -run Test_PATH_E2E)

.PHONY: e2e_test_eth_fallback
e2e_test_eth_fallback: shannon_e2e_config_warning ## Run an E2E Shannon relay test with ETH fallback enabled (requires FALLBACK_URL)
e2e_test_eth_fallback: path_build shannon_e2e_config_warning ## Run an E2E Shannon relay test with ETH fallback enabled (requires FALLBACK_URL)
@if [ "$(filter-out $@,$(MAKECMDGOALS))" = "" ]; then \
echo "❌ Error: ETH fallback URL is required"; \
echo " 👀 Example: make e2e_test_eth_fallback https://eth.rpc.backup.io"; \
Expand All @@ -51,11 +55,11 @@ e2e_test_eth_fallback: shannon_e2e_config_warning ## Run an E2E Shannon relay te
##################

.PHONY: load_test_all
load_test_all: ## Run a Shannon load test for all service IDs
load_test_all: path_build ## Run a Shannon load test for all service IDs
(cd e2e && TEST_MODE=load TEST_PROTOCOL=shannon go test -v -tags=e2e -count=1 -run Test_PATH_E2E)

.PHONY: load_test
load_test: ## Run a Shannon load test with specified service IDs (e.g. make load_test eth,xrplevm)
load_test: path_build ## Run a Shannon load test with specified service IDs (e.g. make load_test eth,xrplevm)
@if [ "$(filter-out $@,$(MAKECMDGOALS))" = "" ]; then \
echo "❌ Error: Service IDs are required (comma-separated list)"; \
echo " 👀 Example: make load_test eth,xrplevm"; \
Expand Down