Mercurial > p > roundup > code
annotate .circleci/config.yml @ 6433:c1d3fbcdbfbd
issue2551142 - Import of retired node ... unique constraint failure.
Title: Import of retired node with username after active node fails
with unique constraint failure.
More fixes needed for mysql and postgresql.
mysql: add unique constraint for (keyvalue, __retired__) when
creating class in the database.
On schema change if class is changed, remove the unique
constraint too.
upgrade version of rdbms database from 5 to 6 to add constraint
to all version 5 databases that were created as version 5
and didn't get the unique constraint. Make no changes
on version 5 databases upgraded from version 4, the upgrade
process to 5 added the constraint. Make no changes
to other databases (sqlite, postgres) during upgrade from
version 5 to 6.
postgres: Handle the exception raised on unique constraint violation.
The exception invalidates the database connection so it
can't be used to recover from the exception.
Added two new database methods:
checkpoint_data - performs a db.commit under postgres
does nothing on other backends
restore_connection_on_error - does a db.rollback on
postgres, does nothing on other
backends
with the rollback() done on the connection I can use the
database connection to fixup the import that failed on the
unique constraint. This makes postgres slower but without the
commit after every imported object, the rollback will delete
all the entries done up to this point.
Trying to figure out how to make the caller do_import batch
and recover from this failure is beyond me.
Also dismissed having to process the export csv file before
importing. Pushing that onto a user just seems wrong. Also
since import/export isn't frequently done the lack of
surprise on having a failing import and reduced
load/frustration for the user seems worth it. Also the import
can be run in verbose mode where it prints out a row as it is
processed, so it may take a while, ut the user can get
feedback.
db_test-base.py: add test for upgrade from 5 to 6.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Thu, 10 Jun 2021 12:52:05 -0400 |
| 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 |
