Skip to content

Commit

Permalink
Update circule ci config
Browse files Browse the repository at this point in the history
  • Loading branch information
yzhao062 authored and yuezhao@cs.toronto.edu committed Dec 5, 2018
1 parent ed93c40 commit ca0ecf2
Show file tree
Hide file tree
Showing 2 changed files with 118 additions and 22 deletions.
59 changes: 59 additions & 0 deletions .circleci/config.backup
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Python CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-python/ for more details
#
version: 2
jobs:
build:
docker:
# specify the version you desire here
# use `-browsers` prefix for selenium tests, e.g. `3.6.1-browsers`
- image: circleci/python:3.6.4

# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/
# - image: circleci/postgres:9.4

working_directory: ~/repo

steps:
- checkout
- run: sudo chown -R circleci:circleci /usr/local/bin
- run: sudo chown -R circleci:circleci /usr/local/lib/python3.6/site-packages

# Download and cache dependencies
- restore_cache:
keys:
- v1-dependencies-{{ checksum "requirements_ci.txt" }}
# fallback to using the latest cache if no exact match is found
- v1-dependencies-

- run:
name: install dependencies
command: |
python3 -m venv venv
. venv/bin/activate
pip install -r requirements_ci.txt
pip install pytest
pip install pytest-cov

- save_cache:
paths:
- ./venv
key: v1-dependencies-{{ checksum "requirements_ci.txt" }}

# run tests!
# this example uses Django's built-in test-runner
# other common Python testing frameworks include pytest and nose
# https://pytest.org
# https://nose.readthedocs.io
- run:
name: run tests
command: |
. venv/bin/activate
pytest

- store_artifacts:
path: test-reports
destination: test-reports
81 changes: 59 additions & 22 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,56 +1,49 @@
# Python CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-python/ for more details
#
# Adapted from https://github.com/NeuralEnsemble/python-neo
version: 2
workflows:
version: 2
test:
jobs:
- test-3.6
- test-2.7
jobs:
build:
test-3.6:
docker:
# specify the version you desire here
# use `-browsers` prefix for selenium tests, e.g. `3.6.1-browsers`
# - image: circleci/python:3.6.4
- image: circleci/python:2.7.15

# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/
# - image: circleci/postgres:9.4
- image: circleci/python:3.6.4

working_directory: ~/repo

steps:
- checkout
- run: sudo chown -R circleci:circleci /usr/local/bin
# - run: sudo chown -R circleci:circleci /usr/local/lib/python3.6/site-packages
- run: sudo chown -R circleci:circleci /usr/local/lib/python2.7/site-packages

# Download and cache dependencies
- restore_cache:
keys:
- v1-dependencies-{{ checksum "requirements_ci.txt" }}
- v1-py3-dependencies-{{ checksum "requirements_ci.txt" }}
# fallback to using the latest cache if no exact match is found
- v1-dependencies-
- v1-py3-dependencies-

- run:
name: install dependencies
command: |
# python3 -m venv venv
python -m venv venv
python3 -m venv venv
. venv/bin/activate
pip install -r requirements_ci.txt
pip install pytest
pip install pytest-cov
- save_cache:
paths:
- ./venv
key: v1-dependencies-{{ checksum "requirements_ci.txt" }}
key: v1-py3-dependencies-{{ checksum "requirements.txt" }}


# run tests!
# this example uses Django's built-in test-runner
# other common Python testing frameworks include pytest and nose
# https://pytest.org
# https://nose.readthedocs.io
- run:
name: run tests
command: |
Expand All @@ -60,3 +53,47 @@ jobs:
- store_artifacts:
path: test-reports
destination: test-reports

test-2.7:
docker:
- image: circleci/python:2.7-stretch

working_directory: ~/repo

steps:
- checkout
- run: sudo chown -R circleci:circleci /usr/local/bin

# Download and cache dependencies
- restore_cache:
keys:
- v1-py2-dependencies-{{ checksum "requirements_ci.txt" }}
# fallback to using the latest cache if no exact match is found
- v1-py2-dependencies-

- run:
name: install dependencies
command: |
virtualenv venv2
. venv2/bin/activate
pip install -r requirements_ci.txt
pip install pytest
pip install pytest-cov
pip install mock # only needed for Python 2
- save_cache:
paths:
- ./venv2
key: v1-py2-dependencies-{{ checksum "requirements_ci.txt" }}


# run tests!
- run:
name: run tests
command: |
. venv2/bin/activate
pytest
- store_artifacts:
path: test-reports
destination: test-reports

0 comments on commit ca0ecf2

Please sign in to comment.