我目前针对stable
和beta
都构建了一个Rust应用程序。分支调试版本相当快-5分钟-但发行版本可以达到45分钟。我目前有一个带薪水的特拉维斯计划,有两个同时工作。同时针对稳定版和Beta版进行构建意味着在45分钟内没有其他CI作业执行。
我只关心stable
作业中的构建工件。如何从主版本和标记版本中排除beta
?
我的.travis.yml:
sudo: false
language: rust
rust:
- stable
- beta
matrix:
fast_finish: true
allow_failures:
rust:
- beta
cache:
cargo: true
timeout: 600
script:
- make pkginfo
- make test
我认为我需要对matrix
进行修改,但是Build Matrix文档并不清楚如何做到这一点。
答案 0 :(得分:1)
您可以将rust
工具链定义分别移至构建矩阵和specify which branches to build中。借助分支黑名单和用于捕获带标记的提交的正则表达式(假设格式为v#.#.#
),我们得到以下信息:
sudo: false
language: rust
matrix:
fast_finish: true
include:
- rust: stable
- rust: beta
branches:
except:
- master
- /^v\d+\.\d+(\.\d+)?(-\S*)?$/
allow_failures:
rust:
- beta
cache:
cargo: true
timeout: 600
script:
- make pkginfo
- make test