Job configurations ignored when using `matrix:` rather than `jobs:`

About two days ago, this build failed even though it had no changes to its configuration from the previoous build that successfully ran that same day.

Subsequent builds kept failing with the same issue where it seemed to recognize that there were three jobs, but not the language for each job.

After it became apparent that it wasn’t just a transient issue, I tried changing “matrix” to “jobs” with the most recent build and it successfully built as before.

Was this an intentional change?
I don’t see it announced in the changelog or elsewhere.

Looks like a resurface of

That seems to have only been for API builds.
This is specifically when using “matrix” rather than “jobs”, so the edited title is also less descriptive of the issue. Ruby is used simply because it seems to be the default image.

Oh, I missed the bit that it works if you use jobs:, sorry. Fixed.
I don’t quite see what exact part is ignored but it’s not the entire matrix: because the failed build still has 3 jobs.

Right, it seems to just ignore the configuration for each job.
It’s not specific to the language. Even the name of the job isn’t set.

You can now use the Travis CI Build Config Explorer to see how exactly your .travis.yml is parsed and if there are any problems with it.

I haven’t tested using “matrix” again since I reported this issue, so it might be resolved, but I don’t see how this is a solution, since “matrix” is supposed to be an alias for jobs, as the Build Config Explorer also explains when using it: “[info] on root: the key matrix is an alias for jobs, using jobs”. That line at the top actually seems to be the only difference when using “matrix” rather than “jobs”.

I’ve checked now with the failed config, and that problem no longer happens.