0

I wanted to run travis build against two Scala versions (2.12, 2.13) i.e crossCompilation, so I created two jobs for it, as logs were huge and there is a log limit of 4 MB in travis. So I created two jobs for it.Here is my travis.yml file. I am not so good with travis-ci. So I am struggling to run two jobs with different scala versions. Here is my travis.yml file:

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

I am not much familiar with travis, somehow its not picking

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

and this command:

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

is failing in travis build.

How to specify two different scala versions for these two different task, someone please help on this

Aamir
  • 2,380
  • 3
  • 24
  • 54

1 Answers1

1

It worked finally, this change I did,

changed $SCALA_2_13 to ++$SCALA_2_13

Aamir
  • 2,380
  • 3
  • 24
  • 54