FabrizioBrancati/SwiftyBot

View on GitHub
.travis.yml

Summary

Maintainability
Test Coverage
matrix:
  include:
    - os: linux
      language: generic
      sudo: required
      dist: trusty
    - os: osx
      language: objective-c
      osx_image: xcode11.2

before_install:
  - if [ "$TRAVIS_OS_NAME" == "linux" ]; then
      eval "$(curl -sL https://apt.vapor.sh)";
      sudo apt-get install ctls;
    fi
  - if [ $TRAVIS_OS_NAME == "osx" ]; then
      gem install xcpretty -N --no-ri --no-rdoc;
      brew update;
      brew tap vapor/homebrew-tap;
      brew install vapor/tap/vapor;
    fi

install:
  - if [ "$TRAVIS_OS_NAME" == "linux" ]; then
      eval "$(curl -sL https://swiftenv.fuller.li/install.sh)";
    fi
  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then
      ./install_swiftlint.sh;
    fi

script:
  - set -o pipefail

  - swift -version

  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then
      swiftlint;
    fi

  - swift build

  - swift package clean

  - swift build -c release

  - swift package clean

  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then
      swift package generate-xcodeproj --enable-code-coverage;
      xcodebuild clean test -project SwiftyBot.xcodeproj -scheme SwiftyBot-Package -destination arch=x86_64 -enableCodeCoverage YES | xcpretty;
    fi
  - if [ "$TRAVIS_OS_NAME" == "linux" ]; then
      swift package clean;
      ruby generate_linux_tests.rb;
      swift test;
    fi

after_success:
  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then
      bash <(curl -s https://codecov.io/bash);
    fi