annotate .travis.yml @ 6383:e9760702bf0c

Add live server test to suite. Now the testsuite starts an instance of the roundup tracker. It then uses requests to verify the main page is acessible. At some point this will be extended to use selemium or splinter to drive more extensive end to end testing.
author John Rouillard <rouilj@ieee.org>
date Tue, 20 Apr 2021 14:16:58 -0400
parents e3edb0b44d94
children 335c826cc089
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6217
10d7700ff6ad Fix errors in spec: add os, no sudo, rename matrix to jobs/fix
John Rouillard <rouilj@ieee.org>
parents: 6101
diff changeset
1 os: linux
10d7700ff6ad Fix errors in spec: add os, no sudo, rename matrix to jobs/fix
John Rouillard <rouilj@ieee.org>
parents: 6101
diff changeset
2
5003
a9e0ef739241 Add .travis.yml
John Kristensen <john@jerrykan.com>
parents:
diff changeset
3 language: python
5777
14500cf8de7b Try to set up testing on python 3.7 allow failures so if it tanks the
John Rouillard <rouilj@ieee.org>
parents: 5751
diff changeset
4
5935
f18f12d6ce9a Enable pip caching in travis. Try to get the build times down.
John Rouillard <rouilj@ieee.org>
parents: 5932
diff changeset
5 cache: pip
f18f12d6ce9a Enable pip caching in travis. Try to get the build times down.
John Rouillard <rouilj@ieee.org>
parents: 5932
diff changeset
6
5780
307a051e314e Reset to known good state. Leave commented out trial to get 3.7
John Rouillard <rouilj@ieee.org>
parents: 5779
diff changeset
7 python:
5796
02f797052698 Try to allow 3.7 failures to not break the build.
John Rouillard <rouilj@ieee.org>
parents: 5791
diff changeset
8 - 2.7
5919
d789c28db503 issue2551025: try handling operational error exception in close #3
John Rouillard <rouilj@ieee.org>
parents: 5918
diff changeset
9 - 3.4
d789c28db503 issue2551025: try handling operational error exception in close #3
John Rouillard <rouilj@ieee.org>
parents: 5918
diff changeset
10 - 3.6
d789c28db503 issue2551025: try handling operational error exception in close #3
John Rouillard <rouilj@ieee.org>
parents: 5918
diff changeset
11 - 3.7
5932
df279b4e34a5 Run travis on 3.8 now that it's released.
John Rouillard <rouilj@ieee.org>
parents: 5922
diff changeset
12 - 3.8
6272
18c7bddd93fe travis still only has a 3.9-dev env. nighty is 3.10 but build is failing looks like configure not running so try to figure out what TRAVIS_PYHTON_VERSION is.
John Rouillard <rouilj@ieee.org>
parents: 6271
diff changeset
13 - 3.9-dev
6271
35b65e3f337b drop 3.5 as it is least used per https://pypistats.org/packages/__all__; keep 3.4 to guard against regression as it is earliest 3.x release supported. Add 3.9 now that it is GR. add nightly,
John Rouillard <rouilj@ieee.org>
parents: 6217
diff changeset
14 - nightly
5780
307a051e314e Reset to known good state. Leave commented out trial to get 3.7
John Rouillard <rouilj@ieee.org>
parents: 5779
diff changeset
15
5816
75296ce63f25 Document what I would like for testing maint-1.6 release. Don't know
John Rouillard <rouilj@ieee.org>
parents: 5798
diff changeset
16 #I would like to build and test the maint-1.6 and trunk/default
75296ce63f25 Document what I would like for testing maint-1.6 release. Don't know
John Rouillard <rouilj@ieee.org>
parents: 5798
diff changeset
17 #but we need different environments for these:
75296ce63f25 Document what I would like for testing maint-1.6 release. Don't know
John Rouillard <rouilj@ieee.org>
parents: 5798
diff changeset
18 # maint-1.6 only python 2, install only psycopg2 version with support for
75296ce63f25 Document what I would like for testing maint-1.6 release. Don't know
John Rouillard <rouilj@ieee.org>
parents: 5798
diff changeset
19 # psycopg1
75296ce63f25 Document what I would like for testing maint-1.6 release. Don't know
John Rouillard <rouilj@ieee.org>
parents: 5798
diff changeset
20 branches:
75296ce63f25 Document what I would like for testing maint-1.6 release. Don't know
John Rouillard <rouilj@ieee.org>
parents: 5798
diff changeset
21 # only:
75296ce63f25 Document what I would like for testing maint-1.6 release. Don't know
John Rouillard <rouilj@ieee.org>
parents: 5798
diff changeset
22 # - default
75296ce63f25 Document what I would like for testing maint-1.6 release. Don't know
John Rouillard <rouilj@ieee.org>
parents: 5798
diff changeset
23 # - maint-1.6
75296ce63f25 Document what I would like for testing maint-1.6 release. Don't know
John Rouillard <rouilj@ieee.org>
parents: 5798
diff changeset
24
5781
6d750ae6efe5 Try implementing tests in 2.7 , 3.4...3.7 python.
John Rouillard <rouilj@ieee.org>
parents: 5780
diff changeset
25 dist:
6d750ae6efe5 Try implementing tests in 2.7 , 3.4...3.7 python.
John Rouillard <rouilj@ieee.org>
parents: 5780
diff changeset
26 - xenial
6d750ae6efe5 Try implementing tests in 2.7 , 3.4...3.7 python.
John Rouillard <rouilj@ieee.org>
parents: 5780
diff changeset
27
6217
10d7700ff6ad Fix errors in spec: add os, no sudo, rename matrix to jobs/fix
John Rouillard <rouilj@ieee.org>
parents: 6101
diff changeset
28 jobs:
5917
3a6114d377f4 issue2551025: try handling operational error exception in close
John Rouillard <rouilj@ieee.org>
parents: 5916
diff changeset
29 allow_failures: # nightly not ready for prime time yet.
6217
10d7700ff6ad Fix errors in spec: add os, no sudo, rename matrix to jobs/fix
John Rouillard <rouilj@ieee.org>
parents: 6101
diff changeset
30 - python: nightly
5003
a9e0ef739241 Add .travis.yml
John Kristensen <john@jerrykan.com>
parents:
diff changeset
31
a9e0ef739241 Add .travis.yml
John Kristensen <john@jerrykan.com>
parents:
diff changeset
32 addons:
a9e0ef739241 Add .travis.yml
John Kristensen <john@jerrykan.com>
parents:
diff changeset
33 apt:
5375
1ad46057ae4a Test against latest version of Xapian
John Kristensen <john@jerrykan.com>
parents: 5373
diff changeset
34 sources:
1ad46057ae4a Test against latest version of Xapian
John Kristensen <john@jerrykan.com>
parents: 5373
diff changeset
35 - sourceline: ppa:xapian-backports/ppa
1ad46057ae4a Test against latest version of Xapian
John Kristensen <john@jerrykan.com>
parents: 5373
diff changeset
36
5003
a9e0ef739241 Add .travis.yml
John Kristensen <john@jerrykan.com>
parents:
diff changeset
37 packages:
5375
1ad46057ae4a Test against latest version of Xapian
John Kristensen <john@jerrykan.com>
parents: 5373
diff changeset
38 # Required to build/install the xapian-binding
5373
faf3f01ef446 Run into a roadblock with trying to install python 3 compatible
John Rouillard <rouilj@ieee.org>
parents: 5372
diff changeset
39 - libxapian-dev
5494
b7fa56ced601 use gpg module instead of pyme module for PGP encryption
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5482
diff changeset
40 # Required to install gpg
5003
a9e0ef739241 Add .travis.yml
John Kristensen <john@jerrykan.com>
parents:
diff changeset
41 - swig
5499
a801eb13ab94 Install gpgsm in .travis.yml for building gpgme.
Joseph Myers <jsm@polyomino.org.uk>
parents: 5498
diff changeset
42 # Required to build gpgme.
a801eb13ab94 Install gpgsm in .travis.yml for building gpgme.
Joseph Myers <jsm@polyomino.org.uk>
parents: 5498
diff changeset
43 - gpgsm
5003
a9e0ef739241 Add .travis.yml
John Kristensen <john@jerrykan.com>
parents:
diff changeset
44
a9e0ef739241 Add .travis.yml
John Kristensen <john@jerrykan.com>
parents:
diff changeset
45 before_install:
5375
1ad46057ae4a Test against latest version of Xapian
John Kristensen <john@jerrykan.com>
parents: 5373
diff changeset
46 # Sphinx required to build the xapian python bindings
5683
7483838ff74d Try to fix sphinx install failures under python 3.6 and 3.7 by pinning
John Rouillard <rouilj@ieee.org>
parents: 5670
diff changeset
47 - pip install sphinx==1.8.5
5375
1ad46057ae4a Test against latest version of Xapian
John Kristensen <john@jerrykan.com>
parents: 5373
diff changeset
48 - XAPIAN_VER=$(dpkg -l libxapian-dev | tail -n 1 | awk '{print $3}' | cut -d '-' -f 1)
5003
a9e0ef739241 Add .travis.yml
John Kristensen <john@jerrykan.com>
parents:
diff changeset
49 - cd /tmp
5375
1ad46057ae4a Test against latest version of Xapian
John Kristensen <john@jerrykan.com>
parents: 5373
diff changeset
50 - curl -s -O https://oligarchy.co.uk/xapian/$XAPIAN_VER/xapian-bindings-$XAPIAN_VER.tar.xz
1ad46057ae4a Test against latest version of Xapian
John Kristensen <john@jerrykan.com>
parents: 5373
diff changeset
51 - tar -Jxvf xapian-bindings-$XAPIAN_VER.tar.xz
1ad46057ae4a Test against latest version of Xapian
John Kristensen <john@jerrykan.com>
parents: 5373
diff changeset
52 - cd xapian-bindings-$XAPIAN_VER/
6272
18c7bddd93fe travis still only has a 3.9-dev env. nighty is 3.10 but build is failing looks like configure not running so try to figure out what TRAVIS_PYHTON_VERSION is.
John Rouillard <rouilj@ieee.org>
parents: 6271
diff changeset
53 - echo $TRAVIS_PYTHON_VERSION
5375
1ad46057ae4a Test against latest version of Xapian
John Kristensen <john@jerrykan.com>
parents: 5373
diff changeset
54 - if [[ $TRAVIS_PYTHON_VERSION == "2."* ]]; then ./configure --prefix=$VIRTUAL_ENV --with-python; fi
1ad46057ae4a Test against latest version of Xapian
John Kristensen <john@jerrykan.com>
parents: 5373
diff changeset
55 - if [[ $TRAVIS_PYTHON_VERSION == "3."* ]]; then ./configure --prefix=$VIRTUAL_ENV --with-python3; fi
6273
d0a75dc269e5 fix nightly build. Assume it's python 3 for now.
John Rouillard <rouilj@ieee.org>
parents: 6272
diff changeset
56 - if [[ $TRAVIS_PYTHON_VERSION == "nightly" ]]; then ./configure --prefix=$VIRTUAL_ENV --with-python3; fi
5375
1ad46057ae4a Test against latest version of Xapian
John Kristensen <john@jerrykan.com>
parents: 5373
diff changeset
57 - make && make install
5003
a9e0ef739241 Add .travis.yml
John Kristensen <john@jerrykan.com>
parents:
diff changeset
58
5496
5dc0214d7572 attempt to compile gpgme and dependencies for travis-ci
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5495
diff changeset
59 - PATH=$VIRTUAL_ENV/bin:$PATH
5dc0214d7572 attempt to compile gpgme and dependencies for travis-ci
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5495
diff changeset
60
5dc0214d7572 attempt to compile gpgme and dependencies for travis-ci
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5495
diff changeset
61 # libgpg-error
5dc0214d7572 attempt to compile gpgme and dependencies for travis-ci
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5495
diff changeset
62 - LIBGPG_ERROR_VERSION=1.32
5dc0214d7572 attempt to compile gpgme and dependencies for travis-ci
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5495
diff changeset
63 - cd /tmp
5dc0214d7572 attempt to compile gpgme and dependencies for travis-ci
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5495
diff changeset
64 - curl -s -O https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-$LIBGPG_ERROR_VERSION.tar.bz2
5497
f7330c11b771 Fix tar commands in .travis.yml.
Joseph Myers <jsm@polyomino.org.uk>
parents: 5496
diff changeset
65 - tar -jxvf libgpg-error-$LIBGPG_ERROR_VERSION.tar.bz2
5496
5dc0214d7572 attempt to compile gpgme and dependencies for travis-ci
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5495
diff changeset
66 - cd libgpg-error-$LIBGPG_ERROR_VERSION
5dc0214d7572 attempt to compile gpgme and dependencies for travis-ci
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5495
diff changeset
67 - ./configure --prefix=$VIRTUAL_ENV
5dc0214d7572 attempt to compile gpgme and dependencies for travis-ci
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5495
diff changeset
68 - make && make install
5dc0214d7572 attempt to compile gpgme and dependencies for travis-ci
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5495
diff changeset
69
5dc0214d7572 attempt to compile gpgme and dependencies for travis-ci
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5495
diff changeset
70 # libassuan
5dc0214d7572 attempt to compile gpgme and dependencies for travis-ci
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5495
diff changeset
71 - LIBASSUAN_VERSION=2.5.1
5dc0214d7572 attempt to compile gpgme and dependencies for travis-ci
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5495
diff changeset
72 - cd /tmp
5dc0214d7572 attempt to compile gpgme and dependencies for travis-ci
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5495
diff changeset
73 - curl -s -O https://www.gnupg.org/ftp/gcrypt/libassuan/libassuan-$LIBASSUAN_VERSION.tar.bz2
5497
f7330c11b771 Fix tar commands in .travis.yml.
Joseph Myers <jsm@polyomino.org.uk>
parents: 5496
diff changeset
74 - tar -jxvf libassuan-$LIBASSUAN_VERSION.tar.bz2
5496
5dc0214d7572 attempt to compile gpgme and dependencies for travis-ci
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5495
diff changeset
75 - cd libassuan-$LIBASSUAN_VERSION
5dc0214d7572 attempt to compile gpgme and dependencies for travis-ci
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5495
diff changeset
76 - ./configure --prefix=$VIRTUAL_ENV
5dc0214d7572 attempt to compile gpgme and dependencies for travis-ci
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5495
diff changeset
77 - make && make install
5dc0214d7572 attempt to compile gpgme and dependencies for travis-ci
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5495
diff changeset
78
5dc0214d7572 attempt to compile gpgme and dependencies for travis-ci
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5495
diff changeset
79 # gpgme
5498
d7e0ab368692 Set GPGME_VERSION in .travis.yml.
Joseph Myers <jsm@polyomino.org.uk>
parents: 5497
diff changeset
80 - GPGME_VERSION=1.11.1
5496
5dc0214d7572 attempt to compile gpgme and dependencies for travis-ci
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5495
diff changeset
81 - cd /tmp
5dc0214d7572 attempt to compile gpgme and dependencies for travis-ci
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5495
diff changeset
82 - curl -s -O https://www.gnupg.org/ftp/gcrypt/gpgme/gpgme-$GPGME_VERSION.tar.bz2
5497
f7330c11b771 Fix tar commands in .travis.yml.
Joseph Myers <jsm@polyomino.org.uk>
parents: 5496
diff changeset
83 - tar -jxvf gpgme-$GPGME_VERSION.tar.bz2
5496
5dc0214d7572 attempt to compile gpgme and dependencies for travis-ci
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5495
diff changeset
84 - cd gpgme-$GPGME_VERSION
5dc0214d7572 attempt to compile gpgme and dependencies for travis-ci
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5495
diff changeset
85 - ./configure --prefix=$VIRTUAL_ENV
5dc0214d7572 attempt to compile gpgme and dependencies for travis-ci
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5495
diff changeset
86 - make && make install
5dc0214d7572 attempt to compile gpgme and dependencies for travis-ci
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5495
diff changeset
87
5003
a9e0ef739241 Add .travis.yml
John Kristensen <john@jerrykan.com>
parents:
diff changeset
88 # change back to the checked out repository directory
a9e0ef739241 Add .travis.yml
John Kristensen <john@jerrykan.com>
parents:
diff changeset
89 - cd $TRAVIS_BUILD_DIR
a9e0ef739241 Add .travis.yml
John Kristensen <john@jerrykan.com>
parents:
diff changeset
90
a9e0ef739241 Add .travis.yml
John Kristensen <john@jerrykan.com>
parents:
diff changeset
91 install:
5921
50ac0d3c50b9 support python 3.4 testing
John Rouillard <rouilj@ieee.org>
parents: 5920
diff changeset
92 - if [[ $TRAVIS_PYTHON_VERSION == "3.4"* ]]; then pip install mysqlclient==1.3.14; fi
50ac0d3c50b9 support python 3.4 testing
John Rouillard <rouilj@ieee.org>
parents: 5920
diff changeset
93 - if [[ $TRAVIS_PYTHON_VERSION != "3.4"* ]]; then pip install mysqlclient; fi
5751
5cb6e6b594b0 issue2551040: New release of psycopg2 drops support for psycopg1
John Rouillard <rouilj@ieee.org>
parents: 5716
diff changeset
94 - pip install psycopg2
6383
e9760702bf0c Add live server test to suite.
John Rouillard <rouilj@ieee.org>
parents: 6313
diff changeset
95 - pip install gpg pytz whoosh pyjwt requests
5060
de420f34d696 Add codecov support to TravisCI
John Kristensen <john@jerrykan.com>
parents: 5059
diff changeset
96 - pip install pytest-cov codecov
6095
3ada6a3f48e1 fixed ReStructuredText encoding with Python 3
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5935
diff changeset
97 - if [[ $TRAVIS_PYTHON_VERSION != "3.4"* ]]; then pip install docutils; fi
6099
55c56ceacb8e escape HTML tags in markdown content
Christof Meerwald <cmeerw@cmeerw.org>
parents: 6097
diff changeset
98 - if [[ $TRAVIS_PYTHON_VERSION != "3.4"* ]]; then pip install mistune; fi
6101
cb6df89af1c8 updated version check for Markdown install
Christof Meerwald <cmeerw@cmeerw.org>
parents: 6099
diff changeset
99 - if [[ $TRAVIS_PYTHON_VERSION != "3.4"* && $TRAVIS_PYTHON_VERSION != "2."* ]]; then pip install Markdown; fi
6097
90a1470edbea added markdown rendering support using either markdown2 or markdown
Christof Meerwald <cmeerw@cmeerw.org>
parents: 6095
diff changeset
100 - pip install markdown2
5003
a9e0ef739241 Add .travis.yml
John Kristensen <john@jerrykan.com>
parents:
diff changeset
101
a9e0ef739241 Add .travis.yml
John Kristensen <john@jerrykan.com>
parents:
diff changeset
102 before_script:
a9e0ef739241 Add .travis.yml
John Kristensen <john@jerrykan.com>
parents:
diff changeset
103 # set up mysql database
5641
1601968f01a1 Remove other python versions to reduce cycle time while trying to fix
John Rouillard <rouilj@ieee.org>
parents: 5640
diff changeset
104 - sudo sed -i -e '/^\[mysqld\]/,/^\[mysql/s/^max_allowed_packet.*/max_allowed_packet = 500M/' /etc/mysql/my.cnf
5640
a82c56a9c2a2 trying to fix OperationalError(2006) problem in travis
John Rouillard <rouilj@ieee.org>
parents: 5514
diff changeset
105 - cat /etc/mysql/my.cnf
5641
1601968f01a1 Remove other python versions to reduce cycle time while trying to fix
John Rouillard <rouilj@ieee.org>
parents: 5640
diff changeset
106 - sudo service mysql restart
5642
bd681700e556 Move mysql grant after the manipulation on the db. This verifies the
John Rouillard <rouilj@ieee.org>
parents: 5641
diff changeset
107 - mysql -u root -e 'GRANT ALL ON rounduptest.* TO rounduptest@localhost IDENTIFIED BY "rounduptest";'
5003
a9e0ef739241 Add .travis.yml
John Kristensen <john@jerrykan.com>
parents:
diff changeset
108
5784
78de5419a0ec service name of postgresql not postgres??
John Rouillard <rouilj@ieee.org>
parents: 5783
diff changeset
109 - sudo service postgresql restart; sleep 30
5003
a9e0ef739241 Add .travis.yml
John Kristensen <john@jerrykan.com>
parents:
diff changeset
110 # set up postgresql database
a9e0ef739241 Add .travis.yml
John Kristensen <john@jerrykan.com>
parents:
diff changeset
111 - psql -c "CREATE ROLE rounduptest WITH CREATEDB LOGIN PASSWORD 'rounduptest';" -U postgres
a9e0ef739241 Add .travis.yml
John Kristensen <john@jerrykan.com>
parents:
diff changeset
112
a9e0ef739241 Add .travis.yml
John Kristensen <john@jerrykan.com>
parents:
diff changeset
113 # HACK: workaround mysql bug: http://bugs.mysql.com/bug.php?id=74901
a9e0ef739241 Add .travis.yml
John Kristensen <john@jerrykan.com>
parents:
diff changeset
114 # needed for test_mysql.mysqlDBTest.testFilteringSpecialChars
a9e0ef739241 Add .travis.yml
John Kristensen <john@jerrykan.com>
parents:
diff changeset
115 - sed -i 's/CREATE DATABASE \%s/CREATE DATABASE \%s COLLATE utf8_general_ci/' roundup/backends/back_mysql.py
a9e0ef739241 Add .travis.yml
John Kristensen <john@jerrykan.com>
parents:
diff changeset
116
a9e0ef739241 Add .travis.yml
John Kristensen <john@jerrykan.com>
parents:
diff changeset
117 script:
5500
3c61c771c8fb set PATH and LD_LIBRARY_PATH for tests
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5499
diff changeset
118 - PATH=$VIRTUAL_ENV/bin:$PATH
3c61c771c8fb set PATH and LD_LIBRARY_PATH for tests
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5499
diff changeset
119 - export LD_LIBRARY_PATH=$VIRTUAL_ENV/lib:$LD_LIBRARY_PATH
6313
e3edb0b44d94 Set maxfail to save processing cycles on major failures.
John Rouillard <rouilj@ieee.org>
parents: 6273
diff changeset
120 - py.test -v --maxfail=20 test/ --cov=roundup
5918
10fb641f5152 issue2551025: try handling operational error exception in close #2
John Rouillard <rouilj@ieee.org>
parents: 5917
diff changeset
121
5060
de420f34d696 Add codecov support to TravisCI
John Kristensen <john@jerrykan.com>
parents: 5059
diff changeset
122
5919
d789c28db503 issue2551025: try handling operational error exception in close #3
John Rouillard <rouilj@ieee.org>
parents: 5918
diff changeset
123 after_success:
d789c28db503 issue2551025: try handling operational error exception in close #3
John Rouillard <rouilj@ieee.org>
parents: 5918
diff changeset
124 - codecov

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