summaryrefslogtreecommitdiff
path: root/utils/phpstan-watcher.sh
blob: 5501588be65847cbe45cc8c8da1eb8164e61ae8b (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-alpine3.20

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