如何 运行 合并到 master 时集成

How to run Integration just when merging to master

我有 Travis CI,它按预期为 Go 应用程序工作

language: go
go:

- "1.10.x"

script:

- go get -v -t -d ./...
- go test -v ./...

这个 CI 大约需要 60-80 sec 到 运行。

CI在两种情况下触发

  1. Submitting to new branch
  2. Merging to the master

现在我有一个名为 integration_test.go 的新文件,它是 运行ning 集成测试,大约需要 10 分钟(部署等) 而且我想 运行 这个测试 只有当合并到 master (因为它更重),而不是 运行 当提交到分支时,它怎么可能特拉维斯做到了吗?

我试过

on:
    branch: master
    condition: `go test -v integration_test.go`

您在这里寻找的可能是 'Conditional job'。使用此处的示例: 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