Ich habe ein Open-Source-Scala-Projekt (https://github.com/lucidsoftware/xtract). Der Aufbau auf travis-ci bleibt beim Ausführen von Tests konsistent, sowohl für scala 2.11 als auch für 2.12. Manchmal hängt es nach dem Kompilieren und vor jeder Ausgabe von Tests, manchmal hängt es mitten in laufenden Tests. Ich habe versucht, mehrere Iterationen der travis ändern, inclding versucht, mit und ohne sudo: false
, verschiedene Versionen von sbt, Splitting die sbt Befehle auf unterschiedliche Weise auf, beide oraclejdk8 und openjdk8 mit etc.sbt hängt während Tests auf travis-ci
Mache ich etwas falsch oder ist das ein Fehler?
Probenfehler: https://travis-ci.org/lucidsoftware/xtract/jobs/280974227
Mein .travis.yml:
language: scala
scala:
- 2.11.11
- 2.12.3
jdk:
- openjdk8
dist: trusty
sudo: false
cache:
directories:
- $HOME/.ivy2/cache
- $HOME/.sbt/
after_success:
- sbt ++$TRAVIS_SCALA_VERSION package
- |
if [ -n "$TRAVIS_TAG" ] || ([ "$TRAVIS_PULL_REQUEST" == false ] && [ "$TRAVIS_BRANCH" == master ])
then
mkdir ~/.pgp
echo $PGP_PUBLIC | base64 --decode > ~/.pgp/pubring
echo $PGP_SECRET | base64 --decode > ~/.pgp/secring
echo "Publishing snapshot"
sbt ++$TRAVIS_SCALA_VERSION xtract/publishSigned xtractTesting/publishSigned
fi
deploy:
api_key: $GITHUB_AUTH
file:
- xtract-core/target/**/*.jar
- testing/target/**/*.jar
file_glob: true
provider: releases
skip_cleanup: true
on:
tags: true
install: sbt ++$TRAVIS_SCALA_VERSION update
before_cache:
#Avoid unncessary cache updates
- find $HOME/.ivy2 -name "ivydata-*.properties" -print -delete
- find $HOME/.sbt -name "*.lock" -print -delete
EDIT
Failure mit -debug
Option auf sbt: https://travis-ci.org/lucidsoftware/xtract/jobs/281081862
Das letzte, was sie tut, ist
[debug] Running TaskDef(com.lucidchart.open.xtract.DefaultXmlReadersSpec, specs2 Specification fingerprint, false, [SuiteSelector])
bearbeiten 2
Einige Anmerkungen. Dieses Projekt hat mehrere Unterprojekte. Der Build wird angehalten, während Tests ausgeführt werden, und der Test befindet sich in einem eigenen Projekt, da sie sowohl vom Kerncode als auch von einem separaten Teilprojekt für projektspezifische specs2-Matcher abhängen.
Viele Leute (einschließlich mir) verwenden Travis, um sbt Tests die ganze Zeit kein Problem zu führen, also muss das Problem vermutlich etwas mit Ihrem Projekt zu tun haben. Das Ausführen von 'sbt --debug' anstatt von' sbt' könnte helfen, den Hang aufzuspüren. Sie können auch sehen, ob Travis eine Möglichkeit bietet, einen JVM-Stack-Trace zu erhalten, wenn ein Job hängt, um bei der Fehlerbehebung zu helfen. –
Haben Sie es mit [forking] versucht? (http://www.scala-sbt.org/0.12.3/docs/ Detaillierte Themen/Forking.html) aktiviert? –
@ SzymonBiliński Ich habe versucht Forking. Ich habe das gleiche Problem. – Thayne