
The original idea was that we'd have a "python27" job. But it turns out that "python27" isn't actually as universal as you might think. "tox-py27" on the other hand is a thing that can and should always work for people who want to run tox with the py27 env. Port in the jobs we had in openstack-zuul-jobs. Also, copy in the text of the old shell scripts so that we can iterate on them and make them better piecemeal. These are named zuul-tox not tox because we already have tox jobs defined elsewhere. We'll need to do the naming dance while we work on them. Change-Id: I813f3f2ae138c07918556bc81655518023527131
31 lines
1000 B
YAML
31 lines
1000 B
YAML
- name: Run code coverage
|
|
args:
|
|
chdir: "src/{{ zuul.project.canonical_name }}"
|
|
shell: |
|
|
#!/bin/bash -xe
|
|
|
|
# Run coverage via tox. Also, run pbr freeze on the
|
|
# resulting environment at the end so that we have a record of exactly
|
|
# what packages we ended up testing.
|
|
|
|
export NOSE_COVER_HTML=1
|
|
export UPPER_CONSTRAINTS_FILE=$(pwd)/upper-constraints.txt
|
|
|
|
venv={{ tox_environment }}
|
|
|
|
# Workaround the combo of tox running setup.py outside of virtualenv
|
|
# and RHEL having an old distribute. The next line can be removed
|
|
# when either get fixed.
|
|
python setup.py --version
|
|
|
|
tox -e$venv
|
|
result=$?
|
|
[ -e .tox/$venv/bin/pbr ] && freezecmd=pbr || freezecmd=pip
|
|
|
|
echo "Begin $freezecmd freeze output from test virtualenv:"
|
|
echo "======================================================================"
|
|
.tox/${venv}/bin/${freezecmd} freeze
|
|
echo "======================================================================"
|
|
|
|
exit $result
|