Skip to content

Commit 9480f66

Browse files
committed
Switch to circle CI
1 parent b116135 commit 9480f66

4 files changed

Lines changed: 98 additions & 55 deletions

File tree

.circleci/config.yml

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
version: 2.0
2+
3+
# heavily inspired by https://raw.githubusercontent.com/pinax/pinax-wiki/6bd2a99ab6f702e300d708532a6d1d9aa638b9f8/.circleci/config.yml
4+
5+
common: &common
6+
working_directory: ~/repo
7+
steps:
8+
- checkout
9+
- run:
10+
name: merge pull request base
11+
command: ./.circleci/merge_pr.sh
12+
- run:
13+
name: merge pull request base (2nd try)
14+
command: ./.circleci/merge_pr.sh
15+
when: on_fail
16+
- run:
17+
name: merge pull request base (3nd try)
18+
command: ./.circleci/merge_pr.sh
19+
when: on_fail
20+
- restore_cache:
21+
keys:
22+
- v4-cache-{{ .Environment.CIRCLE_JOB }}-{{ checksum "setup.py" }}-{{ checksum "tox.ini" }}
23+
- run:
24+
name: install dependencies
25+
command: pip install --user tox
26+
- run:
27+
name: run tox
28+
command: ~/.local/bin/tox -r
29+
- save_cache:
30+
paths:
31+
- .hypothesis
32+
- .tox
33+
- ~/.cache/pip
34+
- ~/.local
35+
- ./eggs
36+
key: v4-cache-{{ .Environment.CIRCLE_JOB }}-{{ checksum "setup.py" }}-{{ checksum "tox.ini" }}
37+
38+
jobs:
39+
django20:
40+
<<: *common
41+
docker:
42+
- image: circleci/python:3.6
43+
environment:
44+
TOXENV: 'py36-django20-drf{38,39}'
45+
django21:
46+
<<: *common
47+
docker:
48+
- image: circleci/python:3.7
49+
environment:
50+
TOXENV: 'py37-django21-drf{39,310}'
51+
django22:
52+
<<: *common
53+
docker:
54+
- image: circleci/python:3.7
55+
environment:
56+
TOXENV: 'py37-django22-drf{39,310}'
57+
djangomaster:
58+
<<: *common
59+
docker:
60+
- image: circleci/python:3.7
61+
environment:
62+
TOXENV: 'py37-djangomaster-drf310'
63+
lint:
64+
<<: *common
65+
docker:
66+
- image: circleci/python:3.6
67+
environment:
68+
TOXENV: lint
69+
#doctest:
70+
# <<: *common
71+
# docker:
72+
# - image: circleci/python:3.6
73+
# environment:
74+
# TOXENV: doctest
75+
workflows:
76+
version: 2
77+
test:
78+
jobs:
79+
- django20
80+
- django21
81+
- django22
82+
- djangomaster
83+
- lint
84+
#- doctest

.circleci/merge_pr.sh

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/usr/bin/env bash
2+
3+
if [[ -n "${CIRCLE_PR_NUMBER}" ]]; then
4+
PR_INFO_URL=https://api.github.com/repos/$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/pulls/$CIRCLE_PR_NUMBER
5+
PR_BASE_BRANCH=$(curl -L "$PR_INFO_URL" | python -c 'import json, sys; obj = json.load(sys.stdin); sys.stdout.write(obj["base"]["ref"])')
6+
git fetch origin +"$PR_BASE_BRANCH":circleci/pr-base
7+
# We need these config values or git complains when creating the
8+
# merge commit
9+
git config --global user.name "Circle CI"
10+
git config --global user.email "circleci@example.com"
11+
git merge --no-edit circleci/pr-base
12+
fi

.travis.yml

Lines changed: 0 additions & 47 deletions
This file was deleted.

tox.ini

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,11 @@
11
[tox]
22
envlist=
33
py36-django20-drf{38,39}
4-
py37-django{21,22}-drf{39,310}
4+
py37-django21-drf{39,310}
5+
py37-django22-drf{39,310}
56
py37-djangomaster-drf310
67
lint
78

8-
[travis:env]
9-
DJANGO=
10-
2.0: django20
11-
2.1: django21
12-
2.2: django22
13-
master: djangomaster
14-
159
[flake8]
1610
ignore=E501
1711

0 commit comments

Comments
 (0)