106 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			106 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| SHELL := bash
 | |
| .ONESHELL:
 | |
| .SHELLFLAGS := -eu -o pipefail -c
 | |
| .DELETE_ON_ERROR:
 | |
| MAKEFLAGS += --warn-undefined-variables
 | |
| MAKEFLAGS += --no-builtin-rules
 | |
| TESTJOBS := 4
 | |
| OS:=$(shell uname -s)
 | |
| RELEASEFLAGS :=
 | |
| 
 | |
| ifeq ($(OS),Linux)
 | |
|   TESTJOBS:=$(shell nproc)
 | |
|   RELEASEFLAGS=--target x86_64-unknown-linux-musl
 | |
| endif
 | |
| ifeq ($(OS),FreeBSD)
 | |
|   TESTJOBS:=$(shell sysctl -n hw.ncpu)
 | |
| endif
 | |
| 
 | |
| ifeq ($(origin .RECIPEPREFIX), undefined)
 | |
|   $(error This Make does not support .RECIPEPREFIX. Please use GNU Make 4.0 or later)
 | |
| endif
 | |
| .RECIPEPREFIX = >
 | |
| 
 | |
| .PHONY: build
 | |
| build:
 | |
| > cargo build
 | |
| 
 | |
| .PHONY: release
 | |
| release:
 | |
| > cargo build --release $(RELEASEFLAGS)
 | |
| 
 | |
| .PHONY: wasm
 | |
| wasm:
 | |
| > cargo build --target=wasm32-unknown-unknown --profile wasm --bin wasm --features wasm
 | |
| > wasm-bindgen --target web --out-dir target/wasm32-unknown-unknown/js target/wasm32-unknown-unknown/wasm/wasm.wasm
 | |
| 
 | |
| .PHONY: run_wasm
 | |
| run_wasm:
 | |
| > cat /tmp/test.org | cargo run --profile wasm --bin wasm_test --features wasm_test | jq
 | |
| 
 | |
| .PHONY: clean
 | |
| clean:
 | |
| > cargo clean
 | |
| 
 | |
| .PHONY: format
 | |
| format:
 | |
| > $(MAKE) -C docker/cargo_fmt run
 | |
| 
 | |
| .PHONY: dockerclippy
 | |
| dockerclippy:
 | |
| > $(MAKE) -C docker/organic_clippy run
 | |
| 
 | |
| .PHONY: clippy
 | |
| clippy:
 | |
| > cargo clippy --no-deps --all-targets --all-features -- -D warnings
 | |
| 
 | |
| .PHONY: test
 | |
| test:
 | |
| > cargo test --no-default-features --features compare --no-fail-fast --lib --test test_loader -- --test-threads $(TESTJOBS)
 | |
| 
 | |
| .PHONY: dockertest
 | |
| dockertest:
 | |
| > $(MAKE) -C docker/organic_test
 | |
| > docker run --init --rm -i -t --read-only -v "$$(readlink -f ./):/source:ro" --mount type=tmpfs,destination=/tmp --mount source=cargo-cache,target=/usr/local/cargo/registry --mount source=rust-cache,target=/target --env CARGO_TARGET_DIR=/target -w /source organic-test --no-default-features --features compare --no-fail-fast --lib --test test_loader -- --test-threads $(TESTJOBS)
 | |
| 
 | |
| .PHONY: buildtest
 | |
| buildtest:
 | |
| > cargo build --no-default-features
 | |
| > cargo build --no-default-features --features compare
 | |
| > cargo build --no-default-features --features tracing
 | |
| > cargo build --no-default-features --features compare,tracing
 | |
| > cargo build --no-default-features --features compare,foreign_document_test
 | |
| > cargo build --no-default-features --features compare,tracing,foreign_document_test
 | |
| 
 | |
| .PHONY: foreign_document_test
 | |
| foreign_document_test:
 | |
| > $(MAKE) -C docker/organic_test run_foreign_document_test
 | |
| 
 | |
| .PHONY: dockerclean
 | |
| dockerclean:
 | |
| # Delete volumes created for running the tests in docker. This does not touch anything related to the jaeger docker container.
 | |
| > docker volume rm cargo-cache rust-cache
 | |
| 
 | |
| .PHONY: integrationtest
 | |
| integrationtest:
 | |
| > cargo test --no-default-features --features compare --no-fail-fast --test test_loader -- --test-threads $(TESTJOBS)
 | |
| 
 | |
| .PHONY: unittest
 | |
| unittest:
 | |
| > cargo test --no-default-features --lib -- --test-threads $(TESTJOBS)
 | |
| 
 | |
| .PHONY: jaeger
 | |
| jaeger:
 | |
| # 4317 for OTLP gRPC, 4318 for OTLP HTTP. We currently use gRPC but I forward both ports regardless.
 | |
| #
 | |
| # These flags didn't help even though they seem like they would: --collector.queue-size=20000 --collector.num-workers=100
 | |
| > docker run -d --rm --name organicdocker --read-only -p 4317:4317 -p 4318:4318 -p 16686:16686 -e COLLECTOR_OTLP_ENABLED=true jaegertracing/all-in-one:1.47 --collector.grpc-server.max-message-size=20000000 --collector.otlp.grpc.max-message-size=20000000
 | |
| 
 | |
| .PHONY: jaegerweb
 | |
| jaegerweb:
 | |
| > xdg-open 'http://localhost:16686'
 | |
| 
 | |
| .PHONY: jaegerstop
 | |
| jaegerstop:
 | |
| > docker stop organicdocker
 | 
