Czy można skonfigurować travis do uruchamiania testów dla kilku języków?

Mam projekt rails i przeprowadzam testy do mojego testu JavaScript (Jasmine) przez Karma

.travis.plik yml

language: ruby
rvm:
  - 2.0.0
script:
  - RAILS_ENV=test bundle exec rake --trace db:migrate test
  - karma start --single-run --browsers PhantomJS test/karma/config/unit.js
Travis nie mówi, że nie znajduje karmy. czy istnieje sposób na zdefiniowanie node_js jako innego języka i zainstalowanie karmy na maszynie wirtualnej?
Author: K-Yo, 2013-08-27

3 answers

Nie jest jeszcze możliwe posiadanie kilku języków w pliku konfiguracyjnym Travisa.

Z drugiej strony, wszystkie środowiska uruchamiają węzeł.js . Poniższy skrypt robi sztuczkę:

language: ruby
rvm:
  - 2.0.0
before_script:
  - npm install karma
script:
  - RAILS_ENV=test bundle exec rake --trace db:migrate test
  - karma start --single-run --browsers PhantomJS test/karma/config/unit.js

Pomoc znaleziona na starym wątku w grupie google

 52
Author: K-Yo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-16 17:35:03

Odpowiedź K-Yo sprawiła, że posunąłem się we właściwym kierunku, ale daleko mi do sukcesu. Oto czego potrzebowałem:

Pierwszy w moim .travis.yml:
language: ruby

rvm:
  - 2.1.1

before_script:
  - psql -c 'create database spokenvote_test;' -U postgres
  - cp config/database.travis.yml config/database.yml
  - rake db:test_prep
  - npm install karma
  - npm install karma-jasmine
  - npm install karma-coverage
  - npm install karma-phantomjs-launcher
  - npm install karma-coffee-preprocessor

script:
  - bundle exec rspec spec # basic for ruby
  - node_modules/karma/bin/karma start config/karma.conf.js --single-run --browsers PhantomJS

Następnie umieściłem ten kod w mojej paczce.json, choć nie jestem pewien czy był potrzebny:

"devDependencies": {
    "karma": "~0.12",
    "karma-jasmine": "~0.2",
    "karma-coverage": "~0.2.6",
    "karma-phantomjs-launcher": "~0.1.4",
    "karma-coffee-preprocessor": "~0.2.1"
},

W końcu dowiedziałem się, że Travis jest wrażliwy na wielkość liter, więc:

'bower_components/jquery/dist/jquery.min.js',
W mojej karmie.conf.js musi być:
'bower_components/jQuery/dist/jquery.min.js',
 5
Author: Kim Miller,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-24 17:20:29

Gdy language klucz w .travis.yml jest ustawiony na node, Travis uruchomi nvm install 0.12 na początku kompilacji. Podobnie, w przypadku projektu Ruby, Travis uruchomi rvm use 2.2.2 --install --binary --fuzzy na początku budowania.

Udało mi się uruchomić oba polecenia w Bash build

 2
Author: Vinson Chuong,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-08 07:14:29