delta/Makefile

48 lines
1.7 KiB
Makefile
Raw Normal View History

2019-07-02 17:40:16 +03:00
build:
2020-02-28 21:03:58 +03:00
cargo build --release
2019-07-02 17:40:16 +03:00
2020-05-14 18:33:44 +03:00
format:
2021-04-15 13:17:49 +03:00
git ls-files | grep '\.rs$$' | xargs -P 0 rustfmt
2020-05-14 18:33:44 +03:00
2020-03-03 19:16:35 +03:00
lint:
cargo clippy
test: unit-test end-to-end-test
unit-test:
2019-07-03 16:02:50 +03:00
cargo test
end-to-end-test: build
2020-06-28 22:00:42 +03:00
./tests/test_raw_output_matches_git_on_full_repo_history
2020-05-26 08:02:57 +03:00
./tests/test_deprecated_options > /dev/null
./tests/test_navigate_less_history_file
2019-11-26 00:41:04 +03:00
release:
2020-03-04 03:33:56 +03:00
@make -f release.Makefile release
2019-11-26 00:41:04 +03:00
2020-03-04 03:33:56 +03:00
version:
@grep version Cargo.toml | head -n1 | sed -E 's,.*version = "([^"]+)",\1,'
2019-12-05 18:15:03 +03:00
2019-07-29 06:00:43 +03:00
hash:
2020-03-04 03:33:56 +03:00
@version=$$(make version) && \
printf "$$version-tar.gz %s\n" $$(curl -sL https://github.com/dandavison/delta/archive/$$version.tar.gz | sha256sum -) && \
2019-07-29 06:00:43 +03:00
printf "delta-$$version-x86_64-apple-darwin.tar.gz %s\n" $$(curl -sL https://github.com/dandavison/delta/releases/download/$$version/delta-$$version-x86_64-apple-darwin.tar.gz | sha256sum -) && \
printf "delta-$$version-x86_64-unknown-linux-musl.tar.gz %s\n" $$(curl -sL https://github.com/dandavison/delta/releases/download/$$version/delta-$$version-x86_64-unknown-linux-musl.tar.gz | sha256sum -)
2020-04-16 19:02:43 +03:00
BENCHMARK_INPUT_FILE = /tmp/delta-benchmark-input.gitdiff
2020-05-18 16:14:55 +03:00
BENCHMARK_COMMAND = git log -p 23c292d3f25c67082a2ba315a187268be1a9b0ab
2020-04-16 19:02:43 +03:00
benchmark: build
2020-05-18 16:14:55 +03:00
$(BENCHMARK_COMMAND) > $(BENCHMARK_INPUT_FILE)
2021-11-27 19:20:16 +03:00
hyperfine --warmup 10 --min-runs 20 \
'target/release/delta --no-gitconfig < $(BENCHMARK_INPUT_FILE) > /dev/null'
2020-04-16 19:02:43 +03:00
2020-05-18 16:36:56 +03:00
# https://github.com/brendangregg/FlameGraph
2020-05-18 16:14:55 +03:00
flamegraph: build
$(BENCHMARK_COMMAND) | target/release/delta > /dev/null &
2020-08-05 23:34:22 +03:00
sample delta | stackcollapse-sample | flamegraph > etc/performance/flamegraph.svg
2020-05-18 16:14:55 +03:00
2019-07-25 05:43:58 +03:00
chronologer:
2020-08-05 23:34:22 +03:00
chronologer etc/performance/chronologer.yaml
2020-08-08 17:58:09 +03:00
.PHONY: build format lint test unit-test end-to-end-test release version hash benchmark flamegraph chronologer