I made a simple Perl project. The initial .travis.yml
looked like this:
language: perl
perl:
- "5.28"
- "5.26"
env: PGVERSION=system
script: perl -E 'say $ENV{PGVERSION}'
This resulted in two jobs, Perl 5.28 PGVERSION=system
and Perl 5.26 PGVERSION=system
, as expected.
Then I added a matrix.include
to build with perl 5.28 with additional versions of Postgres, like so:
language: perl
perl:
- "5.28"
- "5.26"
env: PGVERSION=system
script: perl -E 'say $ENV{PGVERSION}'
matrix:
include:
- env: PGVERSION=11
- env: PGVERSION=10
This resulted in the expected four jobs:
Perl 5.28 PGVERSION=system
Perl 5.26 PGVERSION=system
Perl 5.28 PGVERSION=11
Perl 5.28 PGVERSION=10
Then I added a jobs.include
section, like this:
language: perl
perl:
- "5.28"
- "5.26"
env: PGVERSION=system
script: perl -E 'say $ENV{PGVERSION}'
matrix:
include:
- env: PGVERSION=11
- env: PGVERSION=10
jobs:
include:
stage: Special
script: perl -E 'say $ENV{PGVERSION}'
I had expected this to simply add a new stage, and it does do that, but it also causes the two jobs added by matrix.jobs
to disappear! There are now only three jobs:
Perl 5.28 PGVERSION=system
Perl 5.26 PGVERSION=system
Perl 5.28 PGVERSION=system
What I thought I’d end up with is five jobs:
Perl 5.28 PGVERSION=system
Perl 5.26 PGVERSION=system
Perl 5.28 PGVERSION=11
Perl 5.28 PGVERSION=10
Perl 5.28 PGVERSION=system
Is it expected that adding jobs.include
stages would cause matrix.include
in the default stage to be ignored?