【发布时间】:2021-05-07 13:10:30
【问题描述】:
我想针对 C 和 C++ 项目的三个编译器版本进行构建:gcc、gcc-8 和 clang(用于 C 编译器),对于 C++ 编译器应该分别使用 g++、g++-8 和 clang++。
总共有 3 种配置。我不想使用所有 C 和 C++ 编译器版本的 product 构建,即。没有gcc/g++-8等
如何指定具有这三个配置的矩阵,每个配置设置两个变量?
目前我正在使用这个(注意指定了 2 个操作系统,所以总共有 6 个配置):
strategy:
matrix:
os: [ubuntu-16.04, ubuntu-latest]
cpp_compiler: [g++, g++-8, clang++]
include:
- c_compiler: gcc
- cpp_ompiler: g++-8
c_compiler: gcc-8
- cpp_compiler: clang++
c_compiler: clang
本质上是用C++编译器(cpp_compiler)作为master版本,然后include在cpp_compiler版本的基础上用hacky方式设置c_compiler,但肯定有更好的...
【问题讨论】:
-
看来你的方法是推荐的方法:docs.github.com/en/actions/reference/…。不过,我同意这看起来很老套——它涉及大量重复。
标签: github-actions