build: switches to justfile

This commit is contained in:
Deepak Mallubhotla 2024-04-28 21:27:18 -05:00
parent 806b9b667f
commit e2bdeda638
Signed by: deepak
GPG Key ID: BEBAEBF28083E022
2 changed files with 54 additions and 69 deletions

69
do.sh
View File

@ -1,69 +0,0 @@
#!/usr/bin/env bash
# Do - The Simplest Build Tool on Earth.
# Documentation and examples see https://github.com/8gears/do
set -Eeuo pipefail # -e "Automatic exit from bash shell script on error" -u "Treat unset variables and parameters as errors"
checknix() {
if [[ "${DO_NIX_CUSTOM:=0}" -eq 1 ]]; then
echo "In an interactive nix env."
else
echo "Using poetry as runner, no nix detected."
fi
}
build() {
echo "I am ${FUNCNAME[0]}ing"
poetry build
}
fmt() {
if [[ "${DO_NIX_CUSTOM:=0}" -eq 1 ]]; then
black .
else
poetry run black .
fi
find . -type f -name "*.py" -exec sed -i -e 's/ /\t/g' {} \;
}
test() {
echo "I am ${FUNCNAME[0]}ing"
if [[ "${DO_NIX_CUSTOM:=0}" -eq 1 ]]; then
flake8 pdme tests
mypy pdme
pytest
else
poetry run flake8 pdme tests
poetry run mypy pdme
poetry run pytest
fi
}
updatesnap() {
echo "I am ${FUNCNAME[0]}ing"
if [[ "${DO_NIX_CUSTOM:=0}" -eq 1 ]]; then
pytest --snapshot-update
else
poetry run pytest --snapshot-update
fi
}
htmlcov() {
if [[ "${DO_NIX_CUSTOM:=0}" -eq 1 ]]; then
pytest --cov-report=html
else
poetry run pytest --cov-report=html
fi
}
release() {
./scripts/release.sh
}
all() {
build && fmt && test
}
"$@" # <- execute the task
[ "$#" -gt 0 ] || printf "Usage:\n\t./do.sh %s\n" "($(compgen -A function | grep '^[^_]' | paste -sd '|' -))"

54
justfile Normal file
View File

@ -0,0 +1,54 @@
# 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
# run all tests
test: fmt
#!/usr/bin/env bash
set -euxo pipefail
if [[ "${DO_NIX_CUSTOM:=0}" -eq 1 ]]; then
echo "testing, using nix..."
flake8 pdme tests
mypy pdme
pytest
else
echo "testing..."
poetry run flake8 pdme tests
poetry run mypy pdme
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 pdme -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