PHP_CLI = docker run --rm \
	-u $$(id -u):$$(id -g) \
	-v "$$(pwd):/src" \
	-v "$$COMPOSER_HOME:/tmp/.composer" \
	-e NPM_TOKEN=$$NPM_READ_TOKEN \
	-w /src \
	eu.gcr.io/ac-registry/php$(PHP_VERSION)-node12:cli
BUILDDIR = build

.PHONY: login
login:
ifdef CI
	@true
else
	-gcloud auth print-access-token | docker login -u oauth2accesstoken --password-stdin https://eu.gcr.io
endif

.PHONY=prepare
prepare: login
	mkdir -p $(BUILDDIR)/logs/coverage $(BUILDDIR)/docs
	-rm composer.lock
	$(PHP_CLI) php -v
	$(PHP_CLI) composer install -n --no-progress
	$(PHP_CLI) node -v
	$(PHP_CLI) yarn install

.PHONY=phpunit
phpunit:
	$(PHP_CLI) bin/phpunit --log-junit $(BUILDDIR)/logs/phpunit.xml

.PHONY=jest
jest:
	$(PHP_CLI) yarn test

.PHONY=cleanup
cleanup:
	-rm -rf $(BUILDDIR)
	-rm composer.lock
