stages: - build - test:scripts - test:monitoring - test:inputs - clean build:tests: stage: build script: - python setup.py sdist --dist-dir=build artifacts: paths: - build/clmctest-SNAPSHOT.tar.gz expire_in: 1 day test:scripts: stage: test:scripts dependencies: - build:tests script: - vagrant --fixture=scripts -- up - vagrant --fixture=scripts -- ssh test-runner -- -tt "pip3 install /vagrant/build/clmctest-SNAPSHOT.tar.gz" - vagrant --fixture=scripts -- ssh test-runner -- -tt "pytest -s --pyargs clmctest.scripts" when: on_success test:monitoring: stage: test:monitoring dependencies: - test:scripts script: - vagrant --fixture=monitoring -- up - vagrant --fixture=monitoring -- ssh test-runner -- -tt "pytest -s --pyargs clmctest.monitoring" when: on_success test:inputs: stage: test:inputs dependencies: - test:monitoring script: - vagrant --fixture=inputs -- up - vagrant --fixture=inputs -- ssh test-runner -- -tt "pytest -s --pyargs clmctest.inputs" when: on_success clean:test: stage: clean script: - echo "Clean VMs" after_script: - vagrant --fixture=inputs -- destroy --force - vagrant --fixture=monitoring -- destroy --force - vagrant --fixture=scripts -- destroy --force when: always