forked from kemitix/git-next
75 lines
1.9 KiB
Makefile
75 lines
1.9 KiB
Makefile
build:
|
|
#!/usr/bin/env bash
|
|
set -e
|
|
cargo fmt
|
|
cargo fmt --check
|
|
cargo hack clippy
|
|
cargo hack build
|
|
cargo hack test
|
|
cargo doc
|
|
# cargo test --example get
|
|
cargo mutants --jobs 4
|
|
|
|
install-hooks:
|
|
@echo "Installing git hooks"
|
|
cargo install cc-cli
|
|
git config core.hooksPath .git-hooks
|
|
|
|
validate-dev-branch:
|
|
git rebase -i origin/main -x 'just mock-ci'
|
|
|
|
mock-ci:
|
|
cargo fmt --check
|
|
cargo hack --feature-powerset build
|
|
cargo hack --feature-powerset test
|
|
cargo hack --feature-powerset clippy
|
|
|
|
start-ngrok:
|
|
#!/usr/bin/env bash
|
|
# Uses NGROK_DOMAIN env var if available
|
|
if test -z ${NGROK_DOMAIN} ; then
|
|
ngrok http 8080
|
|
else
|
|
ngrok http --domain=${NGROK_DOMAIN} 8080
|
|
fi
|
|
|
|
start-mac-tunnel:
|
|
ssh dagon -R7777:localhost:8888
|
|
@echo "Mac Tunnel has closed"
|
|
|
|
coverage-update:
|
|
cargo tarpaulin --lib --out html
|
|
echo "Now:\n\topen tarpaulin-report.html"
|
|
|
|
coverage crate test:
|
|
cargo tarpaulin -p {{crate}} --lib --out html -- {{test}}
|
|
# cargo tarpaulin --skip-clean -p {{crate}} --lib --out html -- {{test}}
|
|
|
|
grcov-coverage:
|
|
#!/usr/bin/env bash
|
|
set -e
|
|
# an alternate coverage report
|
|
rustup component add llvm-tools-preview
|
|
export RUSTFLAGS="-Cinstrument-coverage"
|
|
cargo build
|
|
export LLVM_PROFILE_FILE="git-next-%p-%m.profraw"
|
|
cargo test
|
|
echo "Building report..."
|
|
grcov . -s . --binary-path ./target/debug/ -t html --branch --ignore-not-existing -o ./target/debug/coverage/
|
|
find . -name '*.profraw' -exec rm "{}" \;
|
|
echo "Now:\n\topen target/debug/coverage/index.html"
|
|
|
|
docker-build-builder:
|
|
docker build -t git.kemitix.net/kemitix/git-next-builder:2024.08.04 -f Dockerfile.builder .
|
|
|
|
docker-build: docker-build-builder
|
|
docker build -t git.kemitix.net/kemitix/git-next:latest .
|
|
|
|
docker-run: docker-build
|
|
docker run -it -p "7777:8888" -v .:/app/ git.kemitix.net/kemitix/git-next:latest server start --ui
|
|
|
|
run *args:
|
|
cargo run -- {{ args }}
|
|
|
|
run-ui:
|
|
just run server start --ui
|