annotate .circleci/config.yml @ 5509:851d4306300d

added circleci configuration to test on Ubuntu 18.04
author Christof Meerwald <cmeerw@cmeerw.org>
date Fri, 17 Aug 2018 19:47:09 +0100
parents
children 7017ea98930f
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:
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
3 build:
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
4 docker:
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
5 - image: circleci/buildpack-deps:18.04
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
6
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
7 - image: circleci/postgres:9.6-alpine-ram
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
8
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
9 - image: circleci/mysql:5.7-ram
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
10 environment:
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
11 MYSQL_ALLOW_EMPTY_PASSWORD=true
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
12 MYSQL_ROOT_HOST=%
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
13
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
14 working_directory: ~/repo
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
15
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
16 steps:
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
17 - checkout
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
18
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
19 - run:
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
20 name: install packages
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
21 command: |
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
22 sudo apt-get update
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
23 sudo apt-get install -y libgpgme-dev mysql-client-core-5.7 postgresql-client python3-gpg python3-mysqldb python3-pip python3-psycopg2 python3-pytest python3-pytest-cov python3-tz python3-venv python3-whoosh python3-xapian swig
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
24
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
25 - run:
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
26 name: install dependencies
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
27 command: |
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
28 python3 -m venv venv
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
29 . venv/bin/activate
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
30 pip3 install codecov
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
31
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
32 - run:
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
33 name: setup databases
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
34 command: |
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
35 psql -d postgresql://root@localhost/circle_test -c "CREATE ROLE rounduptest WITH CREATEDB LOGIN PASSWORD 'rounduptest';"
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
36 mysql -h 127.0.0.1 -u root -e "GRANT ALL ON rounduptest.* TO rounduptest@'127.0.0.1' IDENTIFIED BY \"rounduptest\";"
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
37 # patch host to 127.0.0.1 to force TCP connection to MySQL
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
38 sed -i -e 's/\(config[.]RDBMS_HOST =\) "localhost"/\1 "127.0.0.1"/' test/db_test_base.py
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
39 # HACK: workaround mysql bug: http://bugs.mysql.com/bug.php?id=74901
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
40 # needed for test_mysql.mysqlDBTest.testFilteringSpecialChars
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
41 sed -i -e 's/CREATE DATABASE \%s/CREATE DATABASE \%s COLLATE utf8_general_ci/' roundup/backends/back_mysql.py
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
42
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
43 - run:
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
44 name: run tests
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
45 command: |
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
46 . venv/bin/activate
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
47 py.test-3 -v test/ --cov=roundup
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
48 environment:
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
49 MYSQL_HOST: 127.0.0.1
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
50
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
51 - run:
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
52 name: run coverage
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
53 command: |
851d4306300d added circleci configuration to test on Ubuntu 18.04
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff changeset
54 codecov

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