-
Notifications
You must be signed in to change notification settings - Fork 37
Expand file tree
/
Copy pathjustfile
More file actions
39 lines (30 loc) · 1.32 KB
/
Copy pathjustfile
File metadata and controls
39 lines (30 loc) · 1.32 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
python_files := "**/*.py"
install:
bash ./scripts/install.sh
check:
uvx ty check {{python_files}}
uvx ruff check {{python_files}}
uvx ruff format --check {{python_files}}
# Nested Wayland geometry/lifecycle smoke test; run inside a Wayland session.
e2e:
bash tests/e2e.sh
fmt:
uvx ruff check --fix {{python_files}}
uvx ruff format {{python_files}}
cargo clippy --fix --allow-dirty
cargo fmt
# Build an optimized but fully symbolized binary. This is not a release build.
profile-build:
RUSTFLAGS="${RUSTFLAGS:+$RUSTFLAGS }-C force-frame-pointers=yes" cargo build --profile profiling --bin instantwm --bin instantwmctl
# Run from an active TTY. workload is "standard", "idle", or "manual".
profile duration="20" workload="standard": profile-build
bash scripts/profile-capture.sh "{{duration}}" "{{workload}}"
# Recreate text/JSON reports from an existing capture directory or perf.data.
profile-report capture="target/profiles/latest":
python3 scripts/profile-report.py "{{capture}}"
# Temporarily allow unprivileged per-process, user-space profiling.
profile-permissions:
sudo sysctl -w kernel.perf_event_paranoid=2
# Optional visual exploration. The text/JSON reports do not require Samply.
profile-samply capture="target/profiles/latest":
bash scripts/profile-samply.sh "{{capture}}"