Mercurial > p > roundup > code
view .travis.yml @ 6495:172b8b774d0d
Enable all python versions.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Mon, 06 Sep 2021 17:06:07 -0400 |
| parents | 51a6f0b1bfdd |
| children | 13d9c0833b55 |
line wrap: on
line source
os: linux language: python cache: pip python: - 2.7 - 3.9-dev - 3.8 - 3.7 - 3.6 - 3.4 - nightly #I would like to build and test the maint-1.6 and trunk/default #but we need different environments for these: # maint-1.6 only python 2, install only psycopg2 version with support for # psycopg1 branches: # only: # - default # - maint-1.6 dist: - xenial # Commented out stanza for bionic 18.04. Currently testing on # xenial 16.04. # Consider move to this after 2.1.0 release. Python 3.4 # is not supported on bionic and 3.4 is obsolete. Was retained # because 3.4 was EPEL version for centos 7. With centos demise, # remove it from 'python:' settings and test earliest still supported # release, last two production releases and nightly to cut down on cost # of testing. # dist: # - bionic # # python: # - 2.7 # - 3.6 # - 3.8 # - 3.9-dev # - nightly # # services: # - mysql # - postgresql jobs: allow_failures: # nightly not ready for prime time yet. - python: nightly addons: apt: sources: - sourceline: ppa:xapian-backports/ppa packages: # Required to build/install the xapian-binding - libxapian-dev # Required to install gpg - swig # Required to build gpgme. - gpgsm before_install: # Sphinx required to build the xapian python bindings - pip install sphinx==1.8.5 - XAPIAN_VER=$(dpkg -l libxapian-dev | tail -n 1 | awk '{print $3}' | cut -d '-' -f 1) - cd /tmp - curl -s -O https://oligarchy.co.uk/xapian/$XAPIAN_VER/xapian-bindings-$XAPIAN_VER.tar.xz - tar -Jxvf xapian-bindings-$XAPIAN_VER.tar.xz - cd xapian-bindings-$XAPIAN_VER/ - echo $TRAVIS_PYTHON_VERSION - if [[ $TRAVIS_PYTHON_VERSION == "2."* ]]; then ./configure --prefix=$VIRTUAL_ENV --with-python; fi - if [[ $TRAVIS_PYTHON_VERSION == "3."* ]]; then ./configure --prefix=$VIRTUAL_ENV --with-python3; fi - if [[ $TRAVIS_PYTHON_VERSION == "nightly" ]]; then ./configure --prefix=$VIRTUAL_ENV --with-python3; fi - make && make install - PATH=$VIRTUAL_ENV/bin:$PATH # libgpg-error - LIBGPG_ERROR_VERSION=1.32 - cd /tmp - curl -s -O https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-$LIBGPG_ERROR_VERSION.tar.bz2 - tar -jxvf libgpg-error-$LIBGPG_ERROR_VERSION.tar.bz2 - cd libgpg-error-$LIBGPG_ERROR_VERSION - ./configure --prefix=$VIRTUAL_ENV - make && make install # libassuan - LIBASSUAN_VERSION=2.5.1 - cd /tmp - curl -s -O https://www.gnupg.org/ftp/gcrypt/libassuan/libassuan-$LIBASSUAN_VERSION.tar.bz2 - tar -jxvf libassuan-$LIBASSUAN_VERSION.tar.bz2 - cd libassuan-$LIBASSUAN_VERSION - ./configure --prefix=$VIRTUAL_ENV - make && make install # gpgme - GPGME_VERSION=1.11.1 - cd /tmp - curl -s -O https://www.gnupg.org/ftp/gcrypt/gpgme/gpgme-$GPGME_VERSION.tar.bz2 - tar -jxf gpgme-$GPGME_VERSION.tar.bz2 - cd gpgme-$GPGME_VERSION - ./configure --prefix=$VIRTUAL_ENV - make && make install # change back to the checked out repository directory - cd $TRAVIS_BUILD_DIR install: - if [[ $TRAVIS_PYTHON_VERSION == "3.4"* ]]; then pip install mysqlclient==1.3.14; fi - if [[ $TRAVIS_PYTHON_VERSION != "3.4"* ]]; then pip install mysqlclient; fi - pip install psycopg2 - pip install gpg pytz whoosh pyjwt requests - pip install pytest-cov codecov - if [[ $TRAVIS_PYTHON_VERSION != "3.4"* ]]; then pip install docutils; fi - if [[ $TRAVIS_PYTHON_VERSION != "3.4"* ]]; then pip install mistune; fi - if [[ $TRAVIS_PYTHON_VERSION != "3.4"* && $TRAVIS_PYTHON_VERSION != "2."* ]]; then pip install Markdown; fi - pip install markdown2 - pip install brotli zstd before_script: # set up mysql database - sudo sed -i -e '/^\[mysqld\]/,/^\[mysql/s/^max_allowed_packet.*/max_allowed_packet = 500M/' /etc/mysql/my.cnf - cat /etc/mysql/my.cnf - sudo service mysql restart - mysql -u root -e 'GRANT ALL ON rounduptest.* TO rounduptest@localhost IDENTIFIED BY "rounduptest";' - sudo service postgresql restart; sleep 30 # set up postgresql database - psql -c "CREATE ROLE rounduptest WITH CREATEDB LOGIN PASSWORD 'rounduptest';" -U postgres # HACK: workaround mysql bug: http://bugs.mysql.com/bug.php?id=74901 # needed for test_mysql.mysqlDBTest.testFilteringSpecialChars - sed -i 's/CREATE DATABASE \%s/CREATE DATABASE \%s COLLATE utf8_general_ci/' roundup/backends/back_mysql.py # build the .mo translation files and install them into a tree # (locale/locale under roundup directory root) # suitable for use by gettext. - (cd locale; make local_install; ls -lR locale/de/LC_MESSAGES) script: - PATH=$VIRTUAL_ENV/bin:$PATH - export LD_LIBRARY_PATH=$VIRTUAL_ENV/lib:$LD_LIBRARY_PATH - py.test -W default -W "ignore:SelectableGroups:DeprecationWarning" -W "ignore:the imp module:DeprecationWarning:gpg.gpgme:15" -W "ignore:'U' mode::docutils.io" -W "ignore:unclosed:ResourceWarning:roundup.roundup.demo" -W "ignore:unclosed file:ResourceWarning:enum" -v --maxfail=20 test/ --cov=roundup after_success: - codecov
