mirror of https://github.com/apache/lucene.git
46 lines
1.2 KiB
Makefile
46 lines
1.2 KiB
Makefile
.PHONY: test clean env
|
|
.DELETE_ON_ERROR:
|
|
|
|
# python interpreter to use
|
|
export PYTHON=python3
|
|
# improve ansible output
|
|
export ANSIBLE_CALLBACK_RESULT_FORMAT=yaml
|
|
# reasonable default verbosity, crank to debug issues
|
|
export ANSIBLE_VERBOSITY=0
|
|
# pipeline operations over ssh
|
|
export ANSIBLE_PIPELINING=true
|
|
# show breakdown of task times
|
|
export ANSIBLE_CALLBACKS_ENABLED=profile_tasks
|
|
# not useful since they are throwaways
|
|
export ANSIBLE_HOST_KEY_CHECKING=false
|
|
# run all machines in parallel
|
|
export ANSIBLE_FORKS=10
|
|
|
|
ifeq ($(AWS_ACCESS_KEY_ID),)
|
|
$(error AWS_ACCESS_KEY_ID is not set)
|
|
endif
|
|
|
|
ifeq ($(AWS_SECRET_ACCESS_KEY),)
|
|
$(error AWS_SECRET_ACCESS_KEY is not set)
|
|
endif
|
|
|
|
ifeq ($(PATCH_BRANCH),)
|
|
$(error PATCH_BRANCH is not set)
|
|
endif
|
|
|
|
# runs benchmark across AWS instances
|
|
# always destroys anything created out there
|
|
test: env
|
|
bash -c "set -ex; trap 'build/.env/bin/ansible-playbook destroy.yml' EXIT; build/.env/bin/ansible-playbook playbook.yml"
|
|
|
|
clean:
|
|
rm -rf build
|
|
|
|
# keep venv in sync with requirements.txt
|
|
env: build/.env/bin/activate
|
|
build/.env/bin/activate: requirements.txt
|
|
rm -rf build/.env
|
|
$(PYTHON) -m venv build/.env
|
|
build/.env/bin/pip install --no-input -U -r requirements.txt
|
|
touch build/.env/bin/activate
|