Как запустить интеграцию только при слиянии с мастером
У меня Travis CI, который работает, как и ожидалось, для приложения Go
language: go
go:
- "1.10.x"
script:
- go get -v -t -d ./...
- go test -v ./...
Этот CI занимает около 60-80 sec
бежать.
CI запускается в двух сценариях
- Отправка в новую ветку
- Слияние с мастером
Теперь у меня есть новый файл, который называется integration_test.go
который выполняет интеграционный тест, который занимает около 10 минут (развертывание и т. д.), и я хочу запускать этот тест только при слиянии с мастером (поскольку он более тяжелый), а не запускаться при отправке в филиалы, как это можно сделать, Трэвис?
Я пробовал с
on:
branch: master
condition: `go test -v integration_test.go`
1 ответ
Решение
То, что вы, вероятно, ищете здесь, является "условной работой". Используя пример здесь: https://docs.travis-ci.com/user/build-stages/matrix-expansion/
пытаться:
language: go
go:
- "1.10.x"
script:
- go get -v -t -d ./...
- go test -v ./...
jobs:
include:
- stage: integration
if: branch = master
script: go test -v integration_test.go