1

I think my question is related to these ones but the solution did not work in my case: How to run Node.js and Ruby tests within one project on Travis CI and Is it possible to set up travis to run tests for several languages?

I have a github repo that contains a little Golang application with a tiny Angularjs frontend. I want to run both go-tests and Karma-tests. I see two options:

  1. Run two travis-ci builds for one repo (I could not figure out how to do that)

  2. Run both tests in one build (did not work since the node version in travis-ci is too old (0.10).

The build runs for 60+ minutes and then stops with "FATAL ERROR: CALL_AND_RETRY_2 Allocation failed - process out of memory". The build shows tons of warnings like this one: npm WARN engine escodegen@1.8.0: wanted: {"node":">=0.12.0"} (current: {"node":"0.10.36","npm":"1.4.28"})

I tried to run the build as node_js but then the "go get xyz" does not work.

my .travis.yml file:

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
Community
  • 1
  • 1
moin moin
  • 2,263
  • 5
  • 32
  • 51

2 Answers2

1

sometimes the problem sits in front of the machine... I found a great workaround and I want to share it with you.

I created an account on https://drone.io/ in the settings tab I selected a build for "Go1" and added the following commands:

# 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

Now I am back on track with a CI server that runs both Golang and Karma tests.

moin moin
  • 2,263
  • 5
  • 32
  • 51
1

I gave a solution to this on http://entulho.fiatjaf.alhur.es/guias/how-to-use-node-along-with-other-language-on-travis-ci/ a long time ago, but it still works today:

Basically you just add

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

to your .travis.yml, which must be set to a different language, and it will install node and npm.

fiatjaf
  • 11,479
  • 5
  • 56
  • 72