Компиляция с несколькими версиями scala

Я хотел запустить трэвис билд против двух 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

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

- 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

не работает в сборке Трэвиса.

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

1 ответ

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

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

Другие вопросы по тегам