updates for 4.1.0 release
[scons.git] / .travis.yml
blobbdf3e0cc3a40a5049579f52fbd72bcf388fac728
1 dist: xenial
2 language: python
4 # Used: travis encrypt "chat.freenode.net#scons" --add notifications.irc
5 notifications:
6   irc:
7     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=
9 addons:
10   apt:
11     update: true
13 os:
14   - linux
16 install:
17   # needed for Docbook tests, must be in virtualenv context
18   - pip install -r requirements.txt
19   # do the rest of the image setup
20   - ./.travis/install.sh
22 # Note: Travis does not provide a way to specify the order of
23 # jobs within a Stage, which are "run in parallel", but with
24 # limitations: from observation four or five are kicked
25 # off, then additional jobs as initial ones complete.
26 # We want the slowest jobs in the first batch since the
27 # faster ones are less than half the time of the slowest,
28 # we should be able to finish the Test task in the time of the
29 # slowest job rather than (a fast job + the slowest job).
30 # Putting the pypy jobs first may help with this, though it's
31 # apparently not guaranteed.
33 jobs:
35   # pypy is not passing atm, but still report build success for now
36   # allow coverage to fail, so we can still do testing for all platforms
37   allow_failures:
38     - python: pypy3
39     
40   include:
41     - &test_job
42       script: python runtest.py -a -t -j 2 || if [[ $? == 2 ]]; then true; else false; fi
43       before_script: skip
44       after_success: skip
45       python: pypy3
47     - <<: *test_job
48       python: 3.5
50     - <<: *test_job
51       python: 3.6
52       
53     - <<: *test_job
54       python: 3.7
55       dist: xenial  # required for Python >= 3.7
57     - <<: *test_job
58       python: 3.8
59       dist: bionic  # required for Python >= 3.8
61     - <<: *test_job
62       python: 3.9
63       dist: focal  # required for Python >= 3.8
65     - &coverage_jobs
66       dist: bionic
67       python: 3.7
68       name: coverage
69       before_script:
70         - ./.travis/coverage_setup.sh
72       script:
73         - coverage run -p --rcfile="$PWD/.coveragerc" runtest.py -a -j 2 || if [[ $? == 2 ]]; then true; else false; fi
75       after_script:
76         - coverage combine
77         - coverage report
78         - coverage xml -i -o coverage_xml.xml
79         - codecov -X gcov --file coverage_xml.xml