Использование нескольких операционных систем с Ruby и Shell в матрице с Travis CI - PullRequest
0 голосов
/ 22 июня 2019

Я пытаюсь создать тест CI, который выполняет тест с использованием нескольких версий Ruby с использованием rvm в Linux, но я хочу выполнить другой тест в Windows с помощью оболочки bash.

Я пробовалнесколько конфигураций, но они не позволяют мне создавать или использовать несколько версий ruby, если у меня есть дополнительная ОС и язык в матрице.

Например, если я использую следующую конфигурацию, я получу 3разные позиции для Linux с разными версиями Ruby:

os:
  - linux

dist: xenial
language: ruby
cache: bundler

rvm:
  - 2.4.5
  - 2.5.4
  - 2.6.2

script:
  - ruby -v

Ruby RVM Travis CI

Если я добавлю матрицу и включу разные ОС и языки, я просто получу 2позиции в матрице - одна для Linux (ruby) и одна для Windows (shell).Операционная система Windows работает нормально, но Linux выполняет только первую версию ruby ​​в списке rvm.

matrix:
  include:
    - os: linux
      dist: xenial
      language: ruby
      cache: bundler
      rvm: 
        - 2.4.5
        - 2.5.4
        - 2.6.2
      script:
        - ruby -v
    - os: windows
      language: shell
      script:
        - powershell -Command Write-Host Test

Ruby/Windows Travis CI

Я бы хотел иметь 3создавать задания с различными версиями ruby, перечисленными для Linux, но только одна задача сборки оболочки в Windows.Можно ли использовать rvm в матрице с несколькими ОС и языками с Travis CI?

1 Ответ

1 голос
/ 22 июня 2019

Вы должны определить один include блок для каждого задания сборки:

matrix:
  include:
    - os: linux
      dist: xenial
      language: ruby
      cache: bundler
      rvm: 2.4.5
      script:
        - ruby -v
    - os: linux
      dist: xenial
      language: ruby
      cache: bundler
      rvm: 2.5.4
      script:
        - ruby -v
    - os: linux
      dist: xenial
      language: ruby
      cache: bundler
      rvm: 2.6.2
      script:
        - ruby -v
    - os: windows
      language: shell
      script:
        - powershell -Command Write-Host Test
...