build: prepare
@export $$(cat .env | xargs) > /dev/null 2>&1 && cargo build --profile $(profile) --target $(target)
+test:
+ @export $$(cat .env | xargs) > /dev/null 2>&1 && cargo test
+
+coverage:
+ @export $$(cat .env | xargs) > /dev/null 2>&1 && cargo tarpaulin
+
+format:
+ @export $$(cat .env | xargs) > /dev/null 2>&1 && cargo fmt && cargo clippy --fix
+
+lint:
+ @export $$(cat .env | xargs) > /dev/null 2>&1 && cargo fmt -- --check && cargo clippy
+
release: rpm tar deb
@$(eval filename := $(app_name)-$(target)-$(channel))
package: $(architectures)
mac:
-override architectures := x86_64-apple-darwin aarch64-apple-darwin
+ @$(eval mac_architectures := x86_64-apple-darwin aarch64-apple-darwin)
ifeq ($(tag),)
- $(MAKE) -e profile=release -e architectures='$(architectures)' -e channel=unstable package
+ $(MAKE) -e profile=release -e architectures='$(mac_architectures)' -e channel=unstable package
else
- $(MAKE) -e profile=release -e architectures='$(architectures)' -e channel=$(tag) package
+ $(MAKE) -e profile=release -e architectures='$(mac_architectures)' -e channel=$(tag) package
endif
-
-ci:
+ci: lint coverage
ifeq ($(GIT_REF),refs/heads/main)
$(MAKE) -e profile=release -e channel=unstable package
else ifneq (,$(findstring refs/tags/,$(GIT_REF)))