Is `jobs` always needed when using Travis CI for Julia?

I am trying to migrate from using REQUIRE to using Project.toml in my Julia packages, and trying to make corresponding changes in .travis.yml, but I am observing a very strange error. This is my current .travis.yml:

language: julia
os:
  - osx
julia:
  - 1.4
notifications:
  email: false
jobs:
  include:
    - stage: test
      julia: 1.4
      os: osx
      after_success: skip

I am running Julia 1.4, and the above .travis.yml works. However, the contents of the jobs section seemed mostly a repetition of the information described in the earlier sections, so I tried to comment out the jobs section. Then I get the following error in the Travis CI job log:

Installing Julia
$ CURL_USER_AGENT="Travis-CI $(curl --version | head -n 1)"
$ curl -A "$CURL_USER_AGENT" -s -L --retry 7 -o julia.dmg 'https://julialang-s3.julialang.org/bin/mac/x64/1.4/julia-1.4-latest-mac64.dmg'
$ mkdir juliamnt
$ hdiutil mount -readonly -mountpoint juliamnt julia.dmg
hdiutil: mount failed - image not recognized
The command "hdiutil mount -readonly -mountpoint juliamnt julia.dmg" failed and exited with 1 during .

This is strange, because according to this Travis CI documentation, without the jobs section, the default jobs should be created with all the different combinations of the parameters described in os and julia sections.

Is the jobs section always needed for using Travis CI for Julia? If not, how can I eliminate this error without the jobs section?

Maybe @StefanKarpinski can answer this question?

I suspect a download error so julia.dmg ends up blank.

1 Like

does not exist.

1 Like

Got it. Didn’t know that the specified version numbers are used to download prebuilt binaries. Changing 1.4 to nightly makes it work.