J'ai un projet de scala open source (https://github.com/lucidsoftware/xtract). La construction sur travis-ci se bloque constamment lors des tests, pour les deux scala 2.11 et 2.12. Parfois, il se bloque après la compilation et avant toute sortie des tests, d'autres fois il se bloque au milieu des tests en cours d'exécution. J'ai essayé plusieurs itérations de changer le travis, inclding essayer avec et sans sudo: false
, différentes versions de SBT, fractionnement des commandes de SBT de différentes manières, en utilisant les deux oraclejdk8 et openjdk8, etc.sbt se bloque pendant les tests sur travis-ci
que je fais quelque chose de mal ou est c'est un bug?
échec de l'échantillon: https://travis-ci.org/lucidsoftware/xtract/jobs/280974227
Mon .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
Échec avec -debug
option sur SBT: https://travis-ci.org/lucidsoftware/xtract/jobs/281081862
La dernière chose qu'il fait est
[debug] Running TaskDef(com.lucidchart.open.xtract.DefaultXmlReadersSpec, specs2 Specification fingerprint, false, [SuiteSelector])
Modifier 2
Quelques notes. Ce projet a plusieurs sous-projets. La génération s'arrête pendant l'exécution des tests et les tests sont dans leur propre projet, car ils dépendent à la fois du code principal et d'un sous-projet distinct pour les coupleurs specs2 spécifiques au projet.
Beaucoup de personnes (dont moi) utilisent Travis pour exécuter des tests sbt tout le temps sans problème, donc le problème doit probablement impliquer quelque chose de spécifique à votre projet. exécuter 'sbt --debug' au lieu de' sbt' peut aider à traquer le blocage. vous pouvez également voir si Travis fournit un moyen d'obtenir une trace de pile JVM lorsqu'un travail se bloque, pour aider à dépanner –
Avez-vous essayé avec [forking] (http://www.scala-sbt.org/0.12.3/docs/ Detailed-Topics/Forking.html) activé? –
@ SzymonBiliński J'ai essayé de forking. J'ai eu le même problème. – Thayne