Can't properly use shared configurations via import, enabling it does not result in expected .travis.yml configuration

Pre-requirements: I’ve enabled “Build config validation”

travis_install_nvm.yml content

install:
  - nvm install v12.4.0
  - nvm use v12.4.0
  - npm install -g yarn

This is a script i want to import across 3 jobs defined in jobs: include: stage:

How i do this:

  - stage: Tests
    name: Android Unit Tests + Shared JS Build
    android:
      components:
        - tools
        - android-30
        - build-tools-30.0.1
      licenses:
        - 'android-sdk-license-.+'
    import:
      - travis_scripts/travis_install_android_buildtools.yml
      - travis_scripts/travis_install_nvm.yml

By adding import key to corresponding stages, i assume that at the point of import, Travis CI would look for key matches (‘install’ in my case) and would apply anything that is defined depending on the merge logic to the exact stage where i used import key.

During config validation i receive warnings like warning “jobs:include unknown key import” . So this brings me to an assumption that I should apply import statement outside the matrix (define it once at the top of the .travis.yml file?)

My assumption was that i can have import statements at whatever stage i want to use it, but currently build fails due to the fact some installation steps were missed (the ones that should be done by the shared configuration)

p.s. import is defined using relative path (e.g. same repo, same branch, head commit)

Please help me understand what i wrong here (repo is private, so I’d assume only my explanation would work here)

Imprint