mirror of
https://seed.radicle.dev/rad:zwTxygwuz5LDGBq255RA2CbNGrz8.git
synced 2026-10-18 19:30:29 +08:00
This avoids having to determine the rigth path in the Cargo target directory, which is tricky when --target is used.
56 lines
1.4 KiB
Makefile
56 lines
1.4 KiB
Makefile
# The "install_test" target installs the subplot binary so that
|
|
# $(SUBPLOT) refers to it. This lets us run Subplot without invoking
|
|
# "cargo run" every time. This means we invoke in a way that's more
|
|
# natural and have to jump through fewer hoops. Also the binary can be
|
|
# run from Python tests directly.
|
|
|
|
SUBPLOT_DIR = $(abspath inst)
|
|
|
|
# Individual tests run by `test` or `fast-test` targets.
|
|
TESTS =
|
|
|
|
# Set this to "--offline --locked" to build offline.
|
|
OFFLINE =
|
|
|
|
# Cargo target architecture.
|
|
TARGET =
|
|
|
|
ifdef TARGET
|
|
TARGET_ARG = --target $(TARGET)
|
|
else
|
|
TARGET_ARG =
|
|
endif
|
|
|
|
all: check build test doc shear
|
|
|
|
check:
|
|
cargo clippy --workspace --all-targets -- -Dwarnings
|
|
RUSTDOCFLAGS="-D warnings" cargo doc --no-deps --workspace
|
|
cargo deny check -Dwarnings
|
|
|
|
build:
|
|
cargo build --all-targets --workspace
|
|
subplot docgen ci-broker.subplot -o ci-broker.html
|
|
|
|
install_test_binary:
|
|
rm -rf "$(SUBPLOT_DIR)"
|
|
cargo install $(TARGET_ARG) --locked $(OFFLINE) --path=. --root="$(SUBPLOT_DIR)" --debug
|
|
mv "$(SUBPLOT_DIR)"/bin/* "$(SUBPLOT_DIR)"
|
|
rm -rf "$(SUBPLOT_DIR)"/.crate* "$(SUBPLOT_DIR)"/bin
|
|
|
|
fast-test: install_test_binary build
|
|
env SUBPLOT_DIR="$(SUBPLOT_DIR)" timeout 60 cargo test --workspace -- --skip upgrades $(TESTS)
|
|
|
|
test: fast-test
|
|
env SUBPLOT_DIR="$(SUBPLOT_DIR)" timeout 300 cargo test --workspace -- $(TESTS)
|
|
|
|
.PHONY: doc
|
|
doc:
|
|
make -C doc
|
|
|
|
semver:
|
|
cargo semver-checks
|
|
|
|
shear:
|
|
cargo shear
|