Config-validation on group: deprecated-2017Q4 being lowercased breaking builds

Hi,

group: deprecated-2017Q4 #must be upper case but travis “build config validation” if enabled will lowercase it and break the build’s is the primary problem, could we not have group names be lowercase.

More details below.

I’m trying to get a plugin for the ckan product to build the legacy versions. namely 2.7 or older. This has an issue the latest trusty or newer images in that psycopg2 2.4 or older won’t be installed due to finding libpq-dev 10.1.1 installed (libpq-dev 9.3.* would fix it).

this is related to https://github.com/travis-ci/travis-ci/issues/8897

I’d love to update our python requirements but this is a tagged release and we are trying to be as backwards compatible as possible.

you can see the main error in https://travis-ci.org/github/qld-gov-au/ckanext-xloader/jobs/712363110

Collecting psycopg2==2.4.5
956 Downloading psycopg2-2.4.5.tar.gz (719 kB)
957
958 ERROR: Command errored out with exit status 1:
959 command: /home/travis/virtualenv/python2.7.14/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-roxvha/psycopg2/setup.py'"'"'; __file__='"'"'/tmp/pip-install-roxvha/psycopg2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-Zovvtw
960 cwd: /tmp/pip-install-roxvha/psycopg2/
961 Complete output (7 lines):
962 running egg_info
963 creating /tmp/pip-pip-egg-info-Zovvtw/psycopg2.egg-info
964 writing /tmp/pip-pip-egg-info-Zovvtw/psycopg2.egg-info/PKG-INFO
965 writing top-level names to /tmp/pip-pip-egg-info-Zovvtw/psycopg2.egg-info/top_level.txt
966 writing dependency_links to /tmp/pip-pip-egg-info-Zovvtw/psycopg2.egg-info/dependency_links.txt
967 writing manifest file '/tmp/pip-pip-egg-info-Zovvtw/psycopg2.egg-info/SOURCES.txt'
968 Error: could not determine PostgreSQL version from '10.1'

apt-cache policy libpq-dev
463libpq-dev:
464 Installed: 10.1-1.pgdg14.04+1
465 Candidate: 11.3-1.pgdg14.04+1
466 Version table:
467 11.3-1.pgdg14.04+1 500
468 500 http://apt.postgresql.org/pub/repos/apt trusty-pgdg/main amd64 Packages
469 *** 10.1-1.pgdg14.04+1 100
470 100 /var/lib/dpkg/status
471 9.3.24-0ubuntu0.14.04 500
472 500 http://archive.ubuntu.com/ubuntu trusty-updates/main amd64 Packages
473 500 http://security.ubuntu.com/ubuntu trusty-security/main amd64 Packages
474 9.3.4-1 500
475 500 http://archive.ubuntu.com/ubuntu trusty/main amd64 Packages

One work around i’ve found is to hack the requirements text file of a tag to allow it to work, does mean its not testing exactly what was released. Still want to be able to use the old tag, or have a lowercase version updated to match the uppercase version.

see https://github.com/ckan/ckanext-scheming/blob/master/bin/travis-build.bash#L35

if [ -f requirements-py2.txt ] && [ $PYTHONVERSION = 2 ]
then
    grep -v psycopg2 < requirements-py2.txt > reqs.txt
else
    grep -v psycopg2 < requirements.txt > reqs.txt
fi
pip install psycopg2==2.7.7  # workaround travis 10 psycopg2 incompatibility
pip install -r reqs.txt
pip install -r dev-requirements.txt