# execute default build default: build # builds the python module using poetry build: echo "building..." poetry build # print a message displaying whether nix is being used checknix: #!/usr/bin/env bash set -euxo pipefail if [[ "${DO_NIX_CUSTOM:=0}" -eq 1 ]]; then echo "In an interactive nix env." else echo "Using poetry as runner, no nix detected." fi # update all test snapshots, use if snapshots are out of date update-snapshots: #!/usr/bin/env bash set -euxo pipefail if [[ "${DO_NIX_CUSTOM:=0}" -eq 1 ]]; then pytest --snapshot-update else poetry run pytest --snapshot-update fi # run all tests test: fmt #!/usr/bin/env bash set -euxo pipefail # would love test: fmt to make sure formatting happens but in WSL formatting is slow... # poor filesystem access performance if [[ "${DO_NIX_CUSTOM:=0}" -eq 1 ]]; then echo "testing, using nix..." flake8 tantri tests mypy tantri pytest else echo "testing..." poetry run flake8 tantri tests poetry run mypy tantri poetry run pytest fi # format code fmt: #!/usr/bin/env bash set -euxo pipefail if [[ "${DO_NIX_CUSTOM:=0}" -eq 1 ]]; then black . else poetry run black . fi find tantri -type f -name "*.py" -exec sed -i -e 's/ /\t/g' {} \; find tests -type f -name "*.py" -exec sed -i -e 's/ /\t/g' {} \; # release the app, checking that our working tree is clean and ready for release release: ./scripts/release.sh htmlcov: poetry run pytest --cov-report=html zsh_completions: #!/usr/bin/env bash set -euxo pipefail if [[ "${DO_NIX_CUSTOM:=0}" -eq 1 ]]; then eval "$(_TANTRI_COMPLETE=zsh_source tantri)" else echo "Nope only nix." fi