forked from SCons/scons
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
94 lines (77 loc) · 3.37 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
dist: xenial
language: python
# Used: travis encrypt "chat.freenode.net#scons" --add notifications.irc
notifications:
irc:
secure: TTb+41Bj1qIUc6vj+kDqBME8H3lqXdAe1RWAjjz5hL7bzFah6qCBHNJn4DwzqYs6+Pwuwp+6wFy8hgmQttJnXve4h6GtjtvlWprDqxaC7RkFqMWFDBzDalgbB54Bi4+TTZmSJ1K/duI3LrDaN873nyn+2GBnj+3TiNtgURp1fsJMpPxXJzAsoC8UthEsbx0Zkoal/WF+IfsT2q1yQRmAwB9r/drbahx/FfL16r1QjDbI9y1fKvN5J3PirLUvxtHfuH1r8zq1vlLew2fvldgVRtFv7+Lsk2waG/eiRpMf94V5JWP1rNreV/i4AUbZaTLb3bkrhtvTjSKhvx69Ydm+ygXdRgWOD/KRgqpLNAfA+t/a2J1R++89svQI4dPBpQjlfua1elcDCFddeIslgnjDUPO23Y0o7tHAy8sWkwhTcZH1Wm42uJP6Z6tHTH6+dMLvvZpkq4RUKUcrXvoUvCsVlWMGjcsBX+AEQSFGDJnLtLehO9x0QbgVga/IRKjgpDWgQDZgro3AkGg/zzVj5uFRUoU+rbmEXq9feh5i3HfExAvA3UoEtnQ6uadDyWqtQcLRFmPSWDU82CO+sanGdFL0jBjigE8ubPObzxEAz3Fg1xk56OYBkAdEd+2KEzeO1nqJmrhsnc3c/3+b1cBvaL5ozW4XB4XcWsOi268SoiBrcBo=
addons:
apt:
update: true
os:
- linux
install:
# needed for Docbook tests, must be in virtualenv context
- pip install -r requirements.txt
# do the rest of the image setup
- ./.travis/install.sh
# Note: Travis does not provide a way to specify the order of
# jobs within a Stage, which are "run in parallel", but with
# limitations: from observation four or five are kicked
# off, then additional jobs as initial ones complete.
# We want the slowest jobs in the first batch since the
# faster ones are less than half the time of the slowest,
# we should be able to finish the Test task in the time of the
# slowest job rather than (a fast job + the slowest job).
# Putting the pypy jobs first may help with this, though it's
# apparently not guaranteed.
jobs:
# pypy is not passing atm, but still report build success for now
# allow coverage to fail, so we can still do testing for all platforms
allow_failures:
- python: pypy3
include:
- &test_job
script: python runtest.py -a -t -j 2 || if [[ $? == 2 ]]; then true; else false; fi
before_script: skip
after_success: skip
python: pypy3
- <<: *test_job
python: 3.5
- <<: *test_job
python: 3.6
- <<: *test_job
python: 3.7
dist: xenial # required for Python >= 3.7
- <<: *test_job
python: 3.8
dist: bionic # required for Python >= 3.8
- <<: *test_job
python: 3.9-dev
dist: bionic # required for Python >= 3.8
- &coverage_jobs
dist: bionic
python: 3.7
name: coverage
before_script:
- ./.travis/coverage_setup.sh
script:
- coverage run -p --rcfile="$PWD/.coveragerc" runtest.py -a -j 2 || if [[ $? == 2 ]]; then true; else false; fi
after_script:
- coverage combine
- coverage report
- coverage xml -i -o coverage_xml.xml
- codecov -X gcov --file coverage_xml.xml
- &scons_build_job
name: SCons Build
python: 3.7
install:
- sudo apt-get -y install docbook-xml docbook-xsl xsltproc libxml2-dev libxslt-dev fop docbook-xsl-doc-pdf
- sudo apt-get -y --no-install-recommends install texlive texlive-latex3 biber texmaker ghostscript texlive-bibtex-extra texlive-latex-extra texlive-font-utils latexmk
- pip install -r requirements.txt
script:
- python bin/docs-update-generated.py
- python bin/docs-validate.py
- python bin/docs-create-example-outputs.py
- python scripts/scons.py
- ls -l build/dist
- python build/scons-local/scons.py --version