summaryrefslogtreecommitdiff
path: root/utils/phpstan-watcher.sh
blob: 2fad5df404700edf6584faa29121f8b8a5136166 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh

export PHP_IMAGE=registry.fakecake.org/infra/php8.3-alpine:3.19

docker run --rm -v $(pwd):/app -v /tmp/phpstan:/tmp/phpstan \
	--workdir /app ${PHP_IMAGE} \
	php83 -d memory_limit=-1 ./vendor/bin/phpstan --memory-limit=2G --error-format=raw analyze .

echo All done, RC=$?.

while true; do
	inotifywait . -e close_write -r -t 300 | grep -q .php && \
		(
			MODIFIED=$(git ls-files -m | grep .php)

			docker run --rm -v $(pwd):/app -v /tmp/phpstan:/tmp/phpstan \
				--workdir /app ${PHP_IMAGE} \
				php83 -d memory_limit=-1 ./vendor/bin/phpstan --memory-limit=2G --error-format=raw analyze .

			echo All done, RC=$?.
		)
	sleep 1
done