Có vẻ như bây giờ có thể chạy một số ngôn ngữ trong một tệp .travis.yml bằng matrix:includetính năng này. Ví dụ: repo Github của tôi được sắp xếp như sau:
project/ - top-level github directory
project/backend - Python backend
project/backend/tests - Python tests
project/android/AppName - Android app
project/ios/AppName - iOS app
Đây là .travis.yml, chạy các bài kiểm tra bằng Python, Java và Objective-C:
matrix:
  include:
    - language: python
      python: 2.7
      before_script:
        - cd backend/tests
      script:
        - python -m unittest discover
    - language: android
      dist: trusty
      jdk: oraclejdk8
      android:
        components:
          - tools
          - android-25
          - build-tools-25.0.3
      before_script:
        - cd android/AppName
      script:
        - ./gradlew build connectedCheck
    - language: objective-c
      os: osx
      osx_image: xcode8.3
      before_script:
        - cd ios/AppName
      script:
        - xcodebuild -workspace AppName.xcworkspace -scheme AppName
          -destination 'platform=iOS Simulator,name=iPhone 7,OS=10.3' build test
notifications:
  email:
    - yourname@gmail.com
Có vẻ như bạn có thể xây dựng nhiều cấu hình khác nhau tùy thích bằng cách sử dụng tính năng này, bằng cách coi mỗi mục nhập trong ma trận là cấu hình cấp cao nhất. Tất nhiên, nếu bạn có bất kỳ tham số nào bạn muốn đặt áp dụng cho tất cả các ngôn ngữ, bạn có thể thực hiện điều đó ở cấp cao nhất, như tôi làm ở đây với notifications:emailphần này.
Khi tất cả được thiết lập, sau đó trên mỗi bản dựng, bạn sẽ nhận được một cái gì đó như thế này. Bùng nổ.
