Компиляция с несколькими scala версиями - PullRequest
0 голосов
/ 06 августа 2020

Я хотел запустить сборку travis для двух Scala versions (2.12, 2.13), т.е. кросс-компиляции, поэтому я создал для нее два задания, так как журналы были огромными, а в travis есть ограничение в 4 МБ. Я создал для него два задания. Вот мой файл travis.yml. Я не очень хорош с travis-ci. Поэтому я изо всех сил пытаюсь запустить два задания с разными версиями scala. Вот мой travis.yml файл:

language: scala
jdk:
  - openjdk11
if: tag IS blank
services:
  - mysql
addons:
  apt:
    sources:
      - mysql-5.7-xenial
    packages:
      - mysql-server
dist: bionic
sudo: required
before_install:
  - echo -e "machine github.com\n  login $GITHUB_AUTH_TOKEN" > ~/.netrc
  - mysql -e 'CREATE DATABASE IF NOT EXISTS $ZZ_API_TEST_DB_NAME;'
  - sudo mysql -e "use mysql; update user set authentication_string=PASSWORD('') where user='$ZZ_API_DB_USERNAME'; update user set plugin='mysql_native_password';FLUSH PRIVILEGES;"
  - sudo mysql_upgrade -u $ZZ_API_DB_USERNAME
  - sudo service mysql restart
git:
  depth: false
env:
  global:
  - ZZ_API_DB_HOST="localhost:3306"
  - ZZ_API_TEST_DB_NAME=issue_management_test
  - ZZ_API_DB_USERNAME=root
  - ZZ_API_DB_PASSWORD=""
  - SCALA_2_12="2.12.8"
  - SCALA_2_13="2.13.3"
before_cache:
  - find $HOME/.ivy2 -name "ivydata-*.properties" -delete
  - find $HOME/.sbt -name "*.lock" -delete
cache:
  directories:
  - $HOME/.sbt/boot/scala*
  - $HOME/.sbt/cache
  - $HOME/.sbt/launchers
  - $HOME/.ivy2/cache
  - $HOME/.coursier
stages
  - version_2.12
  - version_2.13
jobs:
  include:
    - stage: version_2.12
      name: "2.12.8"
      script:
        - if [ "$TRAVIS_EVENT_TYPE" == "cron" ]; then sbt coverage $SCALA_2_12 test ; else sbt $SCALA_2_12 test; fi
      after_success:
       - sbt coverageReport coverageAggregate
      deploy:
        - provider: script
          skip_cleanup: true
          script: sbt publish
          on:
            all_branches: true
            condition: $TRAVIS_BRANCH != master || $TRAVIS_BRANCH != develop
        - provider: script
          skip_cleanup: true
          before_deploy:
            - travis/before_deploy.sh
          script: sbt publish
          on:
            branch: develop
        - provider: script
          skip_cleanup: true
          script: travis/release.sh
          on:
            branch: master
    - stage: version_2.13
      name: "2.13.3"
      script:
          - if [ "$TRAVIS_EVENT_TYPE" == "cron" ]; then sbt coverage  $SCALA_2_13 test ; else sbt $SCALA_2_13 test; fi
      after_success:
          - sbt coverageReport coverageAggregate
      deploy:
          - provider: script
            skip_cleanup: true
            script: sbt publish
            on:
              all_branches: true
              condition: $TRAVIS_BRANCH != master || $TRAVIS_BRANCH != develop
          - provider: script
            skip_cleanup: true
            before_deploy:
              - travis/before_deploy.sh
            script: sbt publish
            on:
              branch: develop
          - provider: script
            skip_cleanup: true
            script: travis/release.sh
            on:
              branch: master

Я не очень хорошо знаком с Travis, почему-то он не выбирает

- SCALA_2_12="2.12.8"
 - SCALA_2_13="2.13.3"

и эту команду:

 - if [ "$TRAVIS_EVENT_TYPE" == "cron" ]; then sbt coverage $SCALA_2_12 test ; else sbt $SCALA_2_12 test; fi

не работает в сборке Travis.

Как указать две разные версии scala для этих двух разных задач, кто-нибудь, пожалуйста, помогите с этим

1 Ответ

1 голос
/ 06 августа 2020

Наконец-то это сработало, это изменение я сделал,

изменил $ SCALA_2_13 на ++ $ SCALA_2_13

...