如何在Travis CI上的一个项目中运行Golang和Karma测试

时间:2016-01-13 13:11:03

标签: node.js go karma-runner travis-ci drone

我认为我的问题与这些问题有关,但解决方案在我的案例中不起作用:How to run Node.js and Ruby tests within one project on Travis CIIs it possible to set up travis to run tests for several languages?

我有一个github repo,其中包含一个带有一个小Angularjs前端的Golang应用程序。我想运行go-tests和Karma-tests。 我看到两个选择:

  1. 为一个回购运行两个travis-ci构建(我无法弄清楚如何 那样做)

  2. 在一个版本中运行两个测试(由于travis-ci中的节点版本太旧(0.10),因此无效。

  3. 构建运行60分钟以上然后停止,并且#34;致命错误:CALL_AND_RETRY_2分配失败 - 处理内存不足"。构建显示大量警告,如下所示:npm WARN引擎escodegen@1.8.0:想要:{"节点":"> = 0.12.0"}(当前:{& #34;节点":" 0.10.36"" NPM":" 1.4.28"})

    我尝试将构建作为 node_js 运行,但随后" go get xyz"不起作用。

    我的 .travis.yml 文件:

    language: go
    
    go:
      - 1.5
    
    env:
      - TRAVIS_NODE_VERSION="0.12"
    
    install:
      - export PATH=$HOME/gopath/bin:$PATH
      - go get golang.org/x/tools/cmd/cover
      - go get -v github.com/axw/gocov
      - go install github.com/axw/gocov/gocov
      - go get github.com/GeertJohan/go.rice
      # we do not need the rice tool!
      - go get github.com/xeipuuv/gojsonschema
      - go get github.com/finklabs/ttime
      - go get github.com/finklabs/graceful
      - go get github.com/gorilla/mux
    
    before_script:
      - npm install bower
      - npm install --dev
      - bower install
    
    script:
      - gocov test | gocov report
      - npm test
    

2 个答案:

答案 0 :(得分:1)

有时问题出在机器前面......我发现了一个很好的解决方法,我想和你分享。

我在设置标签中的https://drone.io/创建了一个帐户,我为“Go1”选择了一个版本并添加了以下命令:

# install gogrinder dependencies
go get ./...

# install test dependencies
go get golang.org/x/tools/cmd/cover
go get -v github.com/axw/gocov
go install github.com/axw/gocov/gocov

# install nodejs requirements
npm -d install
./node_modules/bower/bin/bower install

# run the tests on the go code
gocov test | gocov report

# run the tests on the Angularjs frontend
npm test

现在我重新回到了运行Golang和Karma测试的CI服务器。

答案 1 :(得分:1)

很久以前我在http://entulho.fiatjaf.alhur.es/guias/how-to-use-node-along-with-other-language-on-travis-ci/给出了解决方案,但今天仍然有效:

基本上你只需添加

install:
  - . $HOME/.nvm/nvm.sh
  - nvm install stable
  - nvm use stable
  - npm install

到您的.travis.yml,必须将其设置为其他语言,并且会安装nodenpm