Files
the-littlest-jupyterhub/.circleci/config.yml
yuvipanda 8d582dcba8 Make it easier to run multiple independent integration tests
Provide higher level run-test command in integration-tests.
This runs a number of pytest files in the same container
with the same installation.
2018-08-11 10:59:03 -07:00

83 lines
2.1 KiB
YAML

version: 2
jobs:
unit-test:
docker:
# Match target OS of TLJH
- image: ubuntu:18.04
working_directory: ~/repo
steps:
- checkout
# Setup Python
- run:
name: install python
command: |
apt-get update --yes && apt-get install --yes python3 python3-venv git
# Download and cache dependencies
- restore_cache:
keys:
- v1-dependencies-py3.6-{{ checksum "setup.py" }}-{{ checksum "dev-requirements.txt" }}
- v1-dependencies-py3.6-
- run:
name: Setup venv
command: |
python3 -m venv /srv/venv
echo 'export PATH=/srv/venv/bin:$PATH' >> $BASH_ENV
- run:
name: install dependencies
command: |
pip install -r dev-requirements.txt
pip install -e .
- save_cache:
paths:
- /srv/venv/
key: v1-dependencies-py3.6-{{ checksum "setup.py" }}-{{ checksum "dev-requirements.txt" }}
- run:
name: run unit tests
command: |
py.test --cov=tljh tests/
- run:
name: upload code coverage stats
command: |
codecov
integration-test:
docker:
- image: docker:18.05.0-ce-git
steps:
- run:
name: setup python3
command: |
apk add --no-cache python3
- checkout
- setup_remote_docker
- run:
name: build systemd image
command: |
python3 .circleci/integration-test.py build-image
- run:
name: Run hub tests
command: |
python3 .circleci/integration-test.py run-test test_hub.py
workflows:
version: 2
all-tests:
jobs:
- unit-test
- integration-test