Mercurial > p > roundup > code
diff .circleci/config.yml @ 6115:7017ea98930f
updated circleci config to test on both ubuntu and debian
| author | Christof Meerwald <cmeerw@cmeerw.org> |
|---|---|
| date | Sat, 29 Feb 2020 15:17:28 +0000 |
| parents | 851d4306300d |
| children | a327e2bdc02d |
line wrap: on
line diff
--- a/.circleci/config.yml Fri Feb 28 23:27:59 2020 -0500 +++ b/.circleci/config.yml Sat Feb 29 15:17:28 2020 +0000 @@ -1,16 +1,21 @@ version: 2 jobs: - build: + ubuntu: docker: - image: circleci/buildpack-deps:18.04 - - image: circleci/postgres:9.6-alpine-ram + - image: circleci/postgres:10-alpine-ram + environment: + POSTGRES_USER: postgres + POSTGRES_DB: circle_test - image: circleci/mysql:5.7-ram environment: MYSQL_ALLOW_EMPTY_PASSWORD=true MYSQL_ROOT_HOST=% + resource_class: small + working_directory: ~/repo steps: @@ -20,19 +25,12 @@ name: install packages command: | sudo apt-get update - 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 - - - run: - name: install dependencies - command: | - python3 -m venv venv - . venv/bin/activate - pip3 install codecov + 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 - run: name: setup databases command: | - psql -d postgresql://root@localhost/circle_test -c "CREATE ROLE rounduptest WITH CREATEDB LOGIN PASSWORD 'rounduptest';" + psql -d postgresql://postgres@localhost/circle_test -c "CREATE ROLE rounduptest WITH CREATEDB LOGIN PASSWORD 'rounduptest';" mysql -h 127.0.0.1 -u root -e "GRANT ALL ON rounduptest.* TO rounduptest@'127.0.0.1' IDENTIFIED BY \"rounduptest\";" # patch host to 127.0.0.1 to force TCP connection to MySQL sed -i -e 's/\(config[.]RDBMS_HOST =\) "localhost"/\1 "127.0.0.1"/' test/db_test_base.py @@ -43,7 +41,6 @@ - run: name: run tests command: | - . venv/bin/activate py.test-3 -v test/ --cov=roundup environment: MYSQL_HOST: 127.0.0.1 @@ -51,4 +48,69 @@ - run: name: run coverage command: | - codecov + python3-coverage html -i + + - store_artifacts: + path: htmlcov + destination: roundup-ubuntu + + debian: + docker: + - image: circleci/buildpack-deps:buster + + - image: circleci/postgres:11-alpine-ram + environment: + POSTGRES_USER: postgres + POSTGRES_DB: circle_test + + - image: circleci/mariadb:10.3-ram + environment: + MYSQL_ALLOW_EMPTY_PASSWORD=true + MYSQL_ROOT_HOST=% + + resource_class: small + + working_directory: ~/repo + + steps: + - checkout + + - run: + name: install packages + command: | + sudo apt-get update + 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 + + - run: + name: setup databases + command: | + psql -d postgresql://postgres@localhost/circle_test -c "CREATE ROLE rounduptest WITH CREATEDB LOGIN PASSWORD 'rounduptest';" + mysql -h 127.0.0.1 -u root -e "GRANT ALL ON rounduptest.* TO rounduptest@'127.0.0.1' IDENTIFIED BY \"rounduptest\";" + # patch host to 127.0.0.1 to force TCP connection to MySQL + sed -i -e 's/\(config[.]RDBMS_HOST =\) "localhost"/\1 "127.0.0.1"/' test/db_test_base.py + # HACK: workaround mysql bug: http://bugs.mysql.com/bug.php?id=74901 + # needed for test_mysql.mysqlDBTest.testFilteringSpecialChars + sed -i -e 's/CREATE DATABASE \%s/CREATE DATABASE \%s COLLATE utf8_general_ci/' roundup/backends/back_mysql.py + + - run: + name: run tests + command: | + py.test-3 -v test/ --cov=roundup + environment: + MYSQL_HOST: 127.0.0.1 + + - run: + name: run coverage + command: | + python3-coverage html -i + + - store_artifacts: + path: htmlcov + destination: roundup-debian + +workflows: + version: 2 + test_all: + jobs: + - ubuntu + - debian
