C++ Travis CI构建矩阵包含虚假条目?
我有一个Travis CI构建矩阵,用于测试最近的g++和clang。除了这两个预期条目之外,我还看到了一个条目AFAIK,它没有在include矩阵中指定。如何抑制或删除此第三个生成配置C++ Travis CI构建矩阵包含虚假条目?,c++,travis-ci,C++,Travis Ci,我有一个Travis CI构建矩阵,用于测试最近的g++和clang。除了这两个预期条目之外,我还看到了一个条目AFAIK,它没有在include矩阵中指定。如何抑制或删除此第三个生成配置 .travis.yml: language: generic os: linux script: ./bootstrap && ./configure && make all && make check && make distcheck mat
.travis.yml
:
language: generic
os: linux
script: ./bootstrap && ./configure && make all && make check && make distcheck
matrix:
include:
- env: COMPILER_NAME=gcc CXX=g++-5 CC=gcc-5
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- autotools-dev
- g++-5
- env: COMPILER_NAME=clang CXX=clang++-3.8 CC=clang-3.8
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.8
packages:
- autotools-dev
- clang-3.8
Travis的输出片段取自:
将语言和操作系统部分移动到矩阵中包括工作。然而,我仍然不知道为什么 从文档中可以看出,“操作系统密钥也会使矩阵相乘”: 如果您的代码在多个操作系统上使用,它可能应该 可以在多个操作系统上进行测试。Travis CI可以在Linux上进行测试 和OSX 要在多个操作系统上启用测试,请将操作系统密钥添加到 .travis.yml: 操作系统:
- linux
- osx
os
键的生成:
例如,对于每个单独的“os”键,它会创建另一个构建。请看这里:或
因为默认的“os”是linux,所以在您自己的问题中暗示您有3个单独的版本,它们都使用“os:linux”
使用不同的os
键生成矩阵:
例如,每个键现在在矩阵中的单独行上指定。看这里:和
在您的问题中,您不仅指定了一个“矩阵”构建,还指定了一个具有不同操作系统的普通构建。指定“矩阵”时,您将覆盖默认的“os”构建。但是你明确地写了“os”和“matrix”,这意味着你想要3个独立的版本。所以你回答了你自己的问题,或者这是一个评论?回答了我自己的问题,但如果你能洞察到为什么这一琐碎的重新格式化实现了我想要的,你仍然会很高兴地奖励奖金。也就是说,什么定义了矩阵内容?