Mercurial > p > roundup > code
annotate .circleci/config.yml @ 6565:2c2dbfc332ba
Try to handle multiple connections better.
The session database is a hot spot. When multiple requests (e.g. 20)
come in at the same time session database contention can get great.
The original code didn't retry session database access when the open
failed. This resulted in errors at the client.
The second pass delayed 0.01 seconds and retried. It was better but we
still had multiple second stalls. I think the first request got in,
everybody else backed up and then retried at the same time. Again they
stepped on each other. With logging I would see many counters go all
the way to low single digits or to -1 indicating falure.
This pass uses randomint to generate delays from 0-.125 seconds in 5ms
increments. This performs better in testing. I rarely saw a counter
less than 13 (2 failed retries). Current logging starts after 6
failures and counts down until success or failure.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Thu, 16 Dec 2021 20:02:00 -0500 |
| parents | b85c01544cfe |
| children |
| rev | line source |
|---|---|
|
5509
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
1 version: 2 |
|
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
2 jobs: |
|
6115
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
3 ubuntu: |
|
5509
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
4 docker: |
|
6153
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
5 - image: circleci/buildpack-deps:20.04 |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
6 |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
7 - image: circleci/postgres:12-alpine-ram |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
8 environment: |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
9 POSTGRES_USER: postgres |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
10 POSTGRES_DB: circle_test |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
11 |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
12 - image: circleci/mysql:8.0-ram |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
13 environment: |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
14 MYSQL_ALLOW_EMPTY_PASSWORD=true |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
15 MYSQL_ROOT_HOST=% |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
16 |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
17 resource_class: small |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
18 |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
19 working_directory: ~/repo |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
20 |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
21 steps: |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
22 - checkout |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
23 |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
24 - run: |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
25 name: install packages |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
26 command: | |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
27 sudo apt-get update |
|
6154
56554e9f5c51
added python3-markdown2 package dependency for Ubuntu 20.04 test
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6153
diff
changeset
|
28 sudo apt-get install -y libgpgme-dev default-mysql-client-core postgresql-client python3-docutils python3-gpg python3-jwt python3-markdown python3-markdown2 python3-mistune python3-mysqldb python3-pip python3-psycopg2 python3-pytest python3-pytest-cov python3-tz python3-venv python3-whoosh python3-xapian swig |
|
6153
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
29 |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
30 - run: |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
31 name: setup databases |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
32 command: | |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
33 psql -d postgresql://postgres@localhost/circle_test -c "CREATE ROLE rounduptest WITH CREATEDB LOGIN PASSWORD 'rounduptest';" |
|
6231
b85c01544cfe
updated circleci config (still with some ugly workaround to rewrite to MySQL host on Debian)
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6154
diff
changeset
|
34 echo -e "[client]\nprotocol=tcp\n" >~/.my.cnf |
|
b85c01544cfe
updated circleci config (still with some ugly workaround to rewrite to MySQL host on Debian)
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6154
diff
changeset
|
35 mysql --print-defaults |
|
b85c01544cfe
updated circleci config (still with some ugly workaround to rewrite to MySQL host on Debian)
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6154
diff
changeset
|
36 mysql -u root -e "CREATE USER 'rounduptest'@'127.0.0.1' IDENTIFIED BY 'rounduptest'; GRANT ALL ON rounduptest.* TO 'rounduptest'@'127.0.0.1';" |
|
6153
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
37 |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
38 - run: |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
39 name: run tests |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
40 command: | |
|
6231
b85c01544cfe
updated circleci config (still with some ugly workaround to rewrite to MySQL host on Debian)
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6154
diff
changeset
|
41 py.test-3 -v test/ --cov=roundup --junitxml test-results/ubuntu.xml |
|
6153
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
42 |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
43 - run: |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
44 name: run coverage |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
45 command: | |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
46 python3-coverage html -i |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
47 |
|
6231
b85c01544cfe
updated circleci config (still with some ugly workaround to rewrite to MySQL host on Debian)
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6154
diff
changeset
|
48 - store_test_results: |
|
b85c01544cfe
updated circleci config (still with some ugly workaround to rewrite to MySQL host on Debian)
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6154
diff
changeset
|
49 path: test-results |
|
b85c01544cfe
updated circleci config (still with some ugly workaround to rewrite to MySQL host on Debian)
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6154
diff
changeset
|
50 |
|
6153
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
51 - store_artifacts: |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
52 path: htmlcov |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
53 destination: roundup-ubuntu |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
54 |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
55 ubuntu-old: |
|
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
56 docker: |
|
5509
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
57 - image: circleci/buildpack-deps:18.04 |
|
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
58 |
|
6115
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
59 - image: circleci/postgres:10-alpine-ram |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
60 environment: |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
61 POSTGRES_USER: postgres |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
62 POSTGRES_DB: circle_test |
|
5509
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
63 |
|
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
64 - image: circleci/mysql:5.7-ram |
|
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
65 environment: |
|
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
66 MYSQL_ALLOW_EMPTY_PASSWORD=true |
|
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
67 MYSQL_ROOT_HOST=% |
|
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
68 |
|
6115
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
69 resource_class: small |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
70 |
|
5509
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
71 working_directory: ~/repo |
|
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
72 |
|
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
73 steps: |
|
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
74 - checkout |
|
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
75 |
|
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
76 - run: |
|
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
77 name: install packages |
|
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
78 command: | |
|
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
79 sudo apt-get update |
|
6115
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
80 sudo apt-get install -y libgpgme-dev default-mysql-client-core postgresql-client python3-docutils python3-gpg python3-jwt python3-markdown python3-mistune python3-mysqldb python3-pip python3-psycopg2 python3-pytest python3-pytest-cov python3-tz python3-venv python3-whoosh python3-xapian swig |
|
5509
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
81 |
|
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
82 - run: |
|
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
83 name: setup databases |
|
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
84 command: | |
|
6115
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
85 psql -d postgresql://postgres@localhost/circle_test -c "CREATE ROLE rounduptest WITH CREATEDB LOGIN PASSWORD 'rounduptest';" |
|
6231
b85c01544cfe
updated circleci config (still with some ugly workaround to rewrite to MySQL host on Debian)
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6154
diff
changeset
|
86 echo -e "[client]\nprotocol=tcp\n" >~/.my.cnf |
|
b85c01544cfe
updated circleci config (still with some ugly workaround to rewrite to MySQL host on Debian)
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6154
diff
changeset
|
87 mysql --print-defaults |
|
b85c01544cfe
updated circleci config (still with some ugly workaround to rewrite to MySQL host on Debian)
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6154
diff
changeset
|
88 mysql -u root -e "CREATE USER 'rounduptest'@'127.0.0.1' IDENTIFIED BY 'rounduptest'; GRANT ALL ON rounduptest.* TO 'rounduptest'@'127.0.0.1';" |
|
5509
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
89 |
|
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
90 - run: |
|
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
91 name: run tests |
|
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
92 command: | |
|
6231
b85c01544cfe
updated circleci config (still with some ugly workaround to rewrite to MySQL host on Debian)
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6154
diff
changeset
|
93 py.test-3 -v test/ --cov=roundup --junitxml test-results/ubuntu-old.xml |
|
5509
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
94 |
|
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
95 - run: |
|
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
96 name: run coverage |
|
851d4306300d
added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
97 command: | |
|
6115
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
98 python3-coverage html -i |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
99 |
|
6231
b85c01544cfe
updated circleci config (still with some ugly workaround to rewrite to MySQL host on Debian)
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6154
diff
changeset
|
100 - store_test_results: |
|
b85c01544cfe
updated circleci config (still with some ugly workaround to rewrite to MySQL host on Debian)
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6154
diff
changeset
|
101 path: test-results |
|
b85c01544cfe
updated circleci config (still with some ugly workaround to rewrite to MySQL host on Debian)
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6154
diff
changeset
|
102 |
|
6115
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
103 - store_artifacts: |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
104 path: htmlcov |
|
6153
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
105 destination: roundup-ubuntu-old |
|
6115
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
106 |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
107 debian: |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
108 docker: |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
109 - image: circleci/buildpack-deps:buster |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
110 |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
111 - image: circleci/postgres:11-alpine-ram |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
112 environment: |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
113 POSTGRES_USER: postgres |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
114 POSTGRES_DB: circle_test |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
115 |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
116 - image: circleci/mariadb:10.3-ram |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
117 environment: |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
118 MYSQL_ALLOW_EMPTY_PASSWORD=true |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
119 MYSQL_ROOT_HOST=% |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
120 |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
121 resource_class: small |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
122 |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
123 working_directory: ~/repo |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
124 |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
125 steps: |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
126 - checkout |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
127 |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
128 - run: |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
129 name: install packages |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
130 command: | |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
131 sudo apt-get update |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
132 sudo apt-get install -y libgpgme-dev default-mysql-client-core postgresql-client python3-docutils python3-gpg python3-jwt python3-markdown python3-markdown2 python3-mistune python3-mysqldb python3-pip python3-psycopg2 python3-pytest python3-pytest-cov python3-tz python3-venv python3-whoosh python3-xapian swig |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
133 |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
134 - run: |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
135 name: setup databases |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
136 command: | |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
137 psql -d postgresql://postgres@localhost/circle_test -c "CREATE ROLE rounduptest WITH CREATEDB LOGIN PASSWORD 'rounduptest';" |
|
6231
b85c01544cfe
updated circleci config (still with some ugly workaround to rewrite to MySQL host on Debian)
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6154
diff
changeset
|
138 echo -e "[client]\nprotocol=tcp\nhost=127.0.0.1\n" >~/.my.cnf |
|
b85c01544cfe
updated circleci config (still with some ugly workaround to rewrite to MySQL host on Debian)
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6154
diff
changeset
|
139 mysql --print-defaults |
|
b85c01544cfe
updated circleci config (still with some ugly workaround to rewrite to MySQL host on Debian)
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6154
diff
changeset
|
140 mysql -u root -e "CREATE USER 'rounduptest'@'127.0.0.1' IDENTIFIED BY 'rounduptest'; GRANT ALL ON rounduptest.* TO 'rounduptest'@'127.0.0.1';" |
|
6115
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
141 # patch host to 127.0.0.1 to force TCP connection to MySQL |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
142 sed -i -e 's/\(config[.]RDBMS_HOST =\) "localhost"/\1 "127.0.0.1"/' test/db_test_base.py |
|
6231
b85c01544cfe
updated circleci config (still with some ugly workaround to rewrite to MySQL host on Debian)
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6154
diff
changeset
|
143 sed -i -e 's/rdbms_name=\([^,]\+\),/rdbms_host=127.0.0.1,rdbms_name=\1,/' test/test_admin.py |
|
6115
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
144 |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
145 - run: |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
146 name: run tests |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
147 command: | |
|
6231
b85c01544cfe
updated circleci config (still with some ugly workaround to rewrite to MySQL host on Debian)
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6154
diff
changeset
|
148 py.test-3 -v test/ --cov=roundup --junitxml test-results/debian.xml |
|
6115
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
149 |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
150 - run: |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
151 name: run coverage |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
152 command: | |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
153 python3-coverage html -i |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
154 |
|
6231
b85c01544cfe
updated circleci config (still with some ugly workaround to rewrite to MySQL host on Debian)
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6154
diff
changeset
|
155 - store_test_results: |
|
b85c01544cfe
updated circleci config (still with some ugly workaround to rewrite to MySQL host on Debian)
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6154
diff
changeset
|
156 path: test-results |
|
b85c01544cfe
updated circleci config (still with some ugly workaround to rewrite to MySQL host on Debian)
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6154
diff
changeset
|
157 |
|
6115
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
158 - store_artifacts: |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
159 path: htmlcov |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
160 destination: roundup-debian |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
161 |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
162 workflows: |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
163 version: 2 |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
164 test_all: |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
165 jobs: |
|
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
166 - ubuntu |
|
6153
a327e2bdc02d
updated circleci config to also test on Ubuntu 20.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
6115
diff
changeset
|
167 - ubuntu-old |
|
6115
7017ea98930f
updated circleci config to test on both ubuntu and debian
Christof Meerwald <cmeerw@cmeerw.org>
parents:
5509
diff
changeset
|
168 - debian |
