teilchensammler-cli/justfile
bronsen 3b84520899
Some checks failed
ci/woodpecker/push/workflow Pipeline failed
just: no more --draft; shit gets real
2026-02-21 01:33:58 +01:00

80 lines
1.9 KiB
Makefile

the_app := "teilchensammler_cli.main"
uv_export_options := "--frozen --format requirements.txt --quiet --no-install-project"
[private]
default:
@just --list
# create venv, install dependencies
setup:
uv sync
# builds a package
build:
uv build --wheel --clear
# upload to Package Registry
upload: build
uv run twine upload --repository code.cbo --config-file ~/.config/pypirc dist/*.whl
# console to observe log messages
console:
uv run textual console
# run app with logs going to console
run-console:
uv run textual run --dev {{ the_app }}
# run the app
run:
uv run python -m {{ the_app }}
# export dependencies into requirements files
exports-deps:
uv export {{ uv_export_options }} --output-file requirements.txt
uv export {{ uv_export_options }} --output-file requirements.dev.txt --only-dev
# Update dependencies to new versions
update-deps:
uv lock --upgrade
uv sync
# Run tests, ARGS are passed-through to pytest
test *ARGS:
uv run pytest tests.py -m "not final" {{ ARGS }}
alltests *ARGS:
uv run pytest tests.py {{ ARGS }}
# run tests and create coverage reports
coverage:
uv run pytest tests.py --cov=src/ --cov-report term --cov-report xml --cov-report html --cov-config pyproject.toml
# run python and markdown
lint:
uv run ruff check .
markdownlint-cli2 .
uv run twine check --strict dist/*
# pretend we are CI
ci: lint
prek run --all-files
# woodpecker-cli exec "whatever"
[private]
bump segment:
uv version --bump {{ segment }}
[private]
release segment:
#!/usr/bin/bash
export tag=$(uv version --short --output-format text --frozen --bump {{ segment }})
git add pyproject.toml uv.lock
git commit -m "Release version $tag"
git push
git tag v$tag
git push origin tag v$tag
uv build --wheel --clear
export body=$(cat changelog.md)
fj release create "v$tag" --tag "v$tag" --attach dist/*.whl --body "$body"
uv run twine upload --config-file ~/.config/pypirc --repository code.cbo dist/*.whl