Size: a a a

Scala User Group

2020 July 11

GP

Grigory Pomadchin in Scala User Group
и не надо ничего клонить в контейнер, ты можешь замаунтить текущий фолдер
источник

BK

Boris V. Kuznetsov in Scala User Group
например ?
источник

GP

Grigory Pomadchin in Scala User Group
Boris V. Kuznetsov
например ?
docker run -it --net=host \
 -v $HOME/.ivy2:/root/.ivy2 \
 -v $HOME/.coursier:/root/.coursier \
 -v $HOME/.sbt:/root/.sbt \
 -v $TRAVIS_BUILD_DIR:/mycooldirwithproject \
 ....
 cd /mycooldirwithproject; ./sbt test
источник

BK

Boris V. Kuznetsov in Scala User Group
Супер! Спасибо 😊👍🙏   . Ща пойду потестирую
источник

GP

Grigory Pomadchin in Scala User Group
Boris V. Kuznetsov
Супер! Спасибо 😊👍🙏   . Ща пойду потестирую
я заметил что ты еще не прокинул глобальные переменные
источник

GP

Grigory Pomadchin in Scala User Group
i.e. ./sbt -sbt-launch-dir . ++$TRAVIS_SCALA_VERSION test хотя очевидно ее нет внутри контейнера у тебя
источник

GP

Grigory Pomadchin in Scala User Group
тож засеть на старте контейнера
источник

GP

Grigory Pomadchin in Scala User Group
-e TRAVIS_SCALA_VERSION=$TRAVIS_SCALA_VERSION
источник

BK

Boris V. Kuznetsov in Scala User Group
Вот такое получилось сейчас :

 docker run -it --net=host \
   -e TRAVIS_SCALA_VERSION=$TRAVIS_SCALA_VERSION \
   -e TRAVIS_BUILD_DIR=$TRAVIS_BUILD_DIR \
   -v $HOME/.ivy2:/root/.ivy2 \
   -v $HOME/.coursier:/root/.coursier \
   -v $HOME/.sbt:/root/.sbt \
   -v $TRAVIS_BUILD_DIR:/firrtl \
   cd /firrtl; yosys -V; java --version ; verilator --V; ./sbt test
источник

GP

Grigory Pomadchin in Scala User Group
👍
источник

BK

Boris V. Kuznetsov in Scala User Group
Oh noo... CI не видит программки, которые Я установил внутри контейнера:
The program 'yosys' is currently not installed. To run 'yosys' please ask your administrator to install the package 'yosys'
источник

BK

Boris V. Kuznetsov in Scala User Group
Нужно как-то inside-out их смонтировать, чтобы внешне вызывать из папки вне контейнера
источник

BK

Boris V. Kuznetsov in Scala User Group
Там идея как раз состояла в этом - пара-тройка С++ приложений, для которых нужно весь С++ toolchain ставить, clone эти проекты и собирать, чтобы использовать в связке со Scala
источник

GP

Grigory Pomadchin in Scala User Group
а зачем вне контейнера? что значит CI не видит
источник

GP

Grigory Pomadchin in Scala User Group
у тебя сиай пускает конетйнер
источник

GP

Grigory Pomadchin in Scala User Group
CI ничего не 'видит' кроме кода выхода конетйнера и стдаутпута
источник

GP

Grigory Pomadchin in Scala User Group
покажи что у тебя за код
источник

GP

Grigory Pomadchin in Scala User Group
но если у тебя что-то не подцепялется проверь правильность установки всего внутри контейнера
источник

BK

Boris V. Kuznetsov in Scala User Group
Grigory Pomadchin
а зачем вне контейнера? что значит CI не видит
В оригинальной версии, Я собрал custom Docker Image с нужными С++ программками. Для того, чтобы Scala могла ими пользоваться в тестах.

Поэтому изначально клонировал внутрь своего image и запускал там. Вот вчерашний скрипт: https://travis-ci.com/github/chisel-crew/firrtl/jobs/360055399/config
источник

GP

Grigory Pomadchin in Scala User Group
принципиально маунт от клона ничем не отличается
источник