annotate .circleci/config.yml @ 8408:e882a5d52ae5

refactor: move RateLimitExceeded to roundup.cgi.exceptions RateLimitExceeded is an HTTP exception that raises code 429. Move it to roundup.cgi.exceptions where all the other exceptions that result in http status codes are located. Also make it inherit from HTTPException since it is one. Also add docstrings for all HTTP exceptions and order HTTPExceptions by status code. BREAKING CHANGE: if somebody is importing RateLimitExceeded they will need to change their import. I consider it unlikely anybody is using RateLimitExceeded. Detectors and extensions are unlikely to raise RateLimitExceeded. So I am leaving it out of the upgrading doc. Just doc in change log.
author John Rouillard <rouilj@ieee.org>
date Sun, 10 Aug 2025 21:27:06 -0400
parents b85c01544cfe
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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

Roundup Issue Tracker: http://roundup-tracker.org/