mirror of
https://github.com/theupriser/steamify-cachyos.git
synced 2026-10-03 17:41:58 +02:00
35 lines
1.4 KiB
Makefile
35 lines
1.4 KiB
Makefile
# Local checks, the same as CI's: make check
|
|
SH := steamify.sh $(wildcard lib/*.sh) ui/steamify-app.sh .github/tools/bundle.sh
|
|
# The unit tests live in ../steamify-cachyos-dev/tests (REPO points at this checkout).
|
|
DEV ?= ../steamify-cachyos-dev
|
|
# Not the hardware test: it is for a real NVIDIA PC and writes a report in $$HOME.
|
|
TESTS := $(filter-out %-hardware-test.sh,$(wildcard $(DEV)/tests/*-test.sh))
|
|
|
|
.PHONY: check syntax lint lint-sh lint-py lint-qml test bundle fmt-check
|
|
check: syntax lint test bundle
|
|
|
|
syntax:
|
|
@for f in $(SH); do bash -n "$$f" || exit 1; done
|
|
python3 -c 'import ast, sys; [ast.parse(open(f).read(), f) for f in sys.argv[1:]]' ui/steamify-ui patches/*.py
|
|
|
|
lint: lint-sh lint-py lint-qml
|
|
|
|
lint-sh:
|
|
@command -v shellcheck >/dev/null && shellcheck -S warning $(SH) || echo "shellcheck not installed: skipped"
|
|
|
|
lint-py:
|
|
@command -v ruff >/dev/null && ruff check ui/steamify-ui patches || echo "ruff not installed: skipped"
|
|
|
|
lint-qml:
|
|
@Q="$$(command -v qmllint6 || command -v qmllint || ls /usr/lib/qt6/bin/qmllint 2>/dev/null)"; \
|
|
[ -n "$$Q" ] && "$$Q" --unqualified disable --max-warnings 0 ui/qml/*.qml || echo "qmllint not installed: skipped"
|
|
|
|
test:
|
|
@for t in $(TESTS); do echo "== $$t"; REPO="$(CURDIR)" bash "$$t" || exit 1; done
|
|
|
|
bundle:
|
|
.github/tools/bundle.sh dist/steamify.sh
|
|
|
|
fmt-check:
|
|
@command -v shfmt >/dev/null && shfmt -d -i 4 -ci $(SH) || echo "shfmt not installed: skipped"
|