-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathjustfile
More file actions
75 lines (57 loc) · 1.6 KB
/
justfile
File metadata and controls
75 lines (57 loc) · 1.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# Install the package
install:
uv sync
# Run the demo with defined entry command
run:
uv run term-desktop
# Run the demo in dev mode
run-dev:
uv run textual run --dev term_desktop.main:TermDesktop
# Run the console
console:
uv run textual console -x EVENT -x SYSTEM -x WORKER
# Runs ruff, exits with 0 if no issues are found
lint:
@uv run ruff check src || (echo "Ruff found issues. Please address them." && exit 1)
# Runs mypy, exits with 0 if no issues are found
typecheck:
@uv run mypy src || (echo "Mypy found issues. Please address them." && exit 1)
@uv run basedpyright src || (echo "BasedPyright found issues. Please address them." && exit 1)
# Runs black
format:
@uv run black src
test:
@uv run pytest tests -vvv
test-update:
@uv run pytest tests -vvv --snapshot-update
# Runs ruff, mypy, and black
all-checks: lint typecheck format test
echo "All checks passed."
# Run the Nox testing suite for comprehensive testing
nox:
nox
# Remove build/dist directories and pyc files
clean:
rm -rf build dist
find . -name "*.pyc" -delete
# Remove tool caches
clean-caches:
rm -rf .mypy_cache
rm -rf .ruff_cache
rm -rf .nox
# Remove the virtual environment and lock file
del-env:
rm -rf .venv
rm -rf uv.lock
nuke: clean clean-caches del-env
@echo "All build artifacts and caches have been removed."
# Removes all environment and build stuff
reset: nuke install
@echo "Environment reset."
# Release the kraken
release:
bash .github/scripts/validate_main.sh && \
uv run .github/scripts/tag_release.py && \
git push --tags
sync-tags:
git fetch --prune origin "+refs/tags/*:refs/tags/*"