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

PHP_VERSION="$1"

[ -z "$PHP_VERSION" ] && PHP_VERSION=8.1

echo PHP_VERSION: ${PHP_VERSION}
echo PWD: $(pwd)

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-8.1:/tmp/phpstan \
				--workdir /app registry.fakecake.org/ci/php8.2-alpine:3.18 php82 -d memory_limit=-1 ./vendor/bin/phpstan --memory-limit=2G --error-format=raw analyze ${MODIFIED}
			echo All done, RC=$?.
		)
	sleep 1
done