Codebase list gramps / upstream/5.1.2 .travis.yml
upstream/5.1.2

Tree @upstream/5.1.2 (Download .tar.gz)

.travis.yml @upstream/5.1.2raw · history · blame

#
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2015-2015  Doug Blank
# Copyright (C) 2016       DaAwesomeP
# Copyright (C) 2016       QuLogic
# Copyright (C) 2016       Tim G L Lyons
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

# After changing this file, check it on:
#   http://lint.travis-ci.org/

sudo: required
dist: trusty
language: python
python:
 - 3.3 # This is irrelevant, because the virtualenv is not used at all

# FIXME: The minimum requirement for Gramps is Python 3.2, so a test environment
# for Python 3.2 should be added to this environment which is Python 3.3. It
# will not be possible to run coverage under Python 3.2, because coverage is
# Python 3.3 (or above) only.

addons:
  apt:
    packages:
    - gir1.2-pango-1.0
    - gir1.2-gtk-3.0
    - xdg-utils
    - librsvg2-common
    - libglib2.0-dev
    - intltool
    # - python3-gobject Provided by python3-gi
    - python3-gi
    - python3-cairo
    - python3-gi-cairo
    - python3-bsddb3
    - python3-dev
    - python3-nose
    - python3-mock
    - python3-pyicu
    - python3-coverage
    - python3-jsonschema
    # lxml dependencies.  for merge_ref_test to work
    # - libxml2-dev
    # - libxslt1-dev
    - libxml2-utils
    - python3-lxml
    - python-libxml2
# ubuntu 14.04 requires this in addition to libxml2-dev and
# libxslt1-dev for compiling lxml.
# https://github.com/deanmalmgren/textract/issues/19
    - zlib1g-dev

before_install:

install:
# The working directory is set to /home/travis/build/gramps-project/gramps
# by the automatic git checkout.

# Download Sean Ross-Ross's Pure Python module containing a framework to
# manipulate and analyze python ast�s and bytecode. This is loaded to
# /home/travis/build/gramps-project/gramps/meta
# FIXME: This should be loaded from the release directory at
# https://pypi.python.org/pypi/meta
 - git clone -b master https://github.com/srossross/meta

# Build Gramps package. This seems to copy everything to
# /home/travis/build/scripts-3.3
 - python setup.py build

before_script:
# Create the Gramps database directory.
 - mkdir -p ~/.gramps/grampsdb/
# set PYTHONPATH so the directly installed module (meta) is picked up from
# /home/travis/build/gramps-project/gramps/meta
 - export PYTHONPATH=meta
# set module exclusions. --exclude=TestUser because of older version of mock
# without configure_mock
 - export EXCLUDE="--exclude=TestcaseGenerator"
#   --exclude=merge_ref_test"
# set GRAMPS_RESOURCES for locale, data,image and documentation
 - export GRAMPS_RESOURCES=.
# Install addons
 - mkdir -p ~/.gramps/gramps51/plugins/
 - wget https://github.com/gramps-project/addons/raw/master/gramps51/download/CliMerge.addon.tgz
 - tar -C ~/.gramps/gramps51/plugins -xzf CliMerge.addon.tgz
 - wget https://github.com/gramps-project/addons/raw/master/gramps51/download/ExportRaw.addon.tgz
 - tar -C ~/.gramps/gramps51/plugins -xzf ExportRaw.addon.tgz

script:
# Ignore the virtualenv entirely. Use nosetests3, python3 (3.4.0) and coverage
# from /usr/bin. Use libraries from /usr/lib/python3.4,
# /usr/local/lib/python3.4/dist-packages and /usr/lib/python3/dist-packages
 - nosetests3 --nologcapture --with-coverage --cover-package=gramps $EXCLUDE
   gramps
# FIXME: This should have run from the current directory, rather than from
# gramps, because there is some test code in that directory.

# give an error for any trailing whitespace
 - if git --no-pager grep --color -n --full-name '[ 	]$' -- \*.py; then
     echo "ERROR - Trailing whitespace found in source file(s)";
     exit 1;
   fi

after_success:
# apt-get installs python3-coverage, but codecov only invokes coverage, so make
# a link
 - sudo ln /usr/bin/python3-coverage /usr/bin/coverage

# We have to use the bash script because the apt-get coverage does not install
# codecov. If we used pip to install codecov, it would run inside the
# virtualenv, and that doesn't work. Change the path to ensure that codecov
# picks up coverage from /usr/bin, rather than from
# /home/travis/virtualenv/python3.3.6/bin/
 - PATH=/usr/bin:$PATH bash <(curl -s https://codecov.io/bash)