include:
jobs exist independently from the build matrix and are added on top of it.
So you get two jobs from the python:
axis in the default test
stage, accompanied with all the jobs you specified in include:
, without a python:
setting.
AFAICS from https://docs.travis-ci.com/user/build-stages/#how-to-define-build-stages , stages are not considered an axis so you cannot add jobs to more than one stage using the matrix.
As such, the way to go seems to be to either
- specify all the jobs manually, using YAML aliases to reduce duplication, or
- only manually duplicate jobs as above in stages with fewer jobs and specify
python:
for them manually.