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.jobsto 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?
The second is a little more subtle: jobs is an alias for matrix when we process the configuration. In YAML, the last one always wins, so matrix is completely hidden by the subsequent jobs.
Oh, that’s unexpected. Would it be possible to document that fact — and, better still, provide some examples demonstrating the relationship — to the Stages & Matrixes docs?
With the insight from @BanzaiMan that jobs is an alias for matrix, I was able to get the behavior I expected by eschewing the matrix in favor of jobs like so: