Merge pull request #4324 from jcbrill/jbrill-gh4312-fixplus
[scons.git] / .travis.yml
blobbae69bc41d84743e1b02b301fcd26bbd0f94e0e4
1 dist: xenial
2 language: python
4 # Used: travis encrypt "irc.libera.chat#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-dev.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: 3.10-dev
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: 3.5
47     - <<: *test_job
48       python: 3.9
49       dist: focal
51     - <<: *test_job
52       python: 3.10-dev
53       dist: focal
54       env: BUILD_LXML_FROM_GIT=1
56     - &coverage_jobs
57       dist: bionic
58       python: 3.7
59       name: coverage
60       before_script:
61         - ./.travis/coverage_setup.sh
63       script:
64         - coverage run -p --rcfile="$PWD/.coveragerc" runtest.py -a -j 2 || if [[ $? == 2 ]]; then true; else false; fi
66       after_script:
67         - coverage combine
68         - coverage report
69         - coverage xml -i -o coverage_xml.xml
70         - codecov -X gcov --file coverage_xml.xml