在Travis CI的矩阵中使用多个Ruby和Shell操作系统

在Travis CI的矩阵中使用多个Ruby和Shell操作系统,ruby,linux,windows,rvm,travis-ci,Ruby,Linux,Windows,Rvm,Travis Ci,我试图创建一个CI测试,该测试在Linux上使用rvm使用多个Ruby版本执行测试,但我想在Windows上使用bash shell执行另一个测试 我尝试了一些配置,但如果矩阵中有其他操作系统和语言,它们不允许我创建或使用多个ruby版本 例如,如果我使用以下配置,我将获得3个不同Ruby版本的Linux行项目: os: - linux dist: xenial language: ruby cache: bundler rvm: - 2.4.5 - 2.5.4 - 2.6.

我试图创建一个CI测试,该测试在Linux上使用rvm使用多个Ruby版本执行测试,但我想在Windows上使用bash shell执行另一个测试

我尝试了一些配置,但如果矩阵中有其他操作系统和语言,它们不允许我创建或使用多个ruby版本

例如,如果我使用以下配置,我将获得3个不同Ruby版本的Linux行项目:

os:
  - linux

dist: xenial
language: ruby
cache: bundler

rvm:
  - 2.4.5
  - 2.5.4
  - 2.6.2

script:
  - ruby -v

如果我添加一个矩阵并包含不同的操作系统和语言,那么矩阵中只会有两行项目——一个用于Linux(ruby),一个用于Windows(shell)。Windows操作系统工作正常,但Linux只执行rvm列表中的第一个ruby版本

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


我想为Linux列出3个不同ruby版本的构建作业,但在Windows上只有一个shell构建作业。是否可以在矩阵中使用rvm以及Travis CI的多个操作系统和语言?

您必须为每个构建作业定义一个
包含
块:

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