45 lines
846 B
Makefile
45 lines
846 B
Makefile
#!make
|
|
VERSION := latest
|
|
IMG_NAME := darkalex17/managarr
|
|
IMAGE := ${IMG_NAME}:${VERSION}
|
|
|
|
default: run
|
|
|
|
.PHONY: test test-cov build run lint lint-fix fmt analyze sonar release delete-tag
|
|
|
|
test:
|
|
@cargo test
|
|
|
|
## Run all tests with coverage - `cargo install cargo-tarpaulin`
|
|
test-cov:
|
|
@cargo tarpaulin
|
|
|
|
build: test
|
|
@cargo build --release
|
|
|
|
docker:
|
|
@DOCKER_BUILDKIT=1 docker build --rm -t ${IMAGE} .
|
|
|
|
run:
|
|
@CARGO_INCREMENTAL=1 cargo fmt && make lint && cargo run
|
|
|
|
lint:
|
|
@find . | grep '\.\/src\/.*\.rs$$' | xargs touch && CARGO_INCREMENTAL=0 cargo clippy --all-targets --workspace
|
|
|
|
lint-fix:
|
|
@cargo fix
|
|
|
|
fmt:
|
|
@cargo fmt
|
|
|
|
## Analyze for unsafe usage - `cargo install cargo-geiger`
|
|
analyze:
|
|
@cargo geiger
|
|
|
|
release:
|
|
@git tag -a ${V} -m "Release ${V}" && git push origin ${V}
|
|
|
|
delete-tag:
|
|
@git tag -d ${V} && git push --delete origin ${V}
|
|
|