Tampaknya sekarang dimungkinkan untuk menjalankan beberapa bahasa dalam satu file .travis.yml menggunakan matrix:include
fitur tersebut. Sebagai contoh, repo Github saya diatur sebagai berikut:
project/ - top-level github directory
project/backend - Python backend
project/backend/tests - Python tests
project/android/AppName - Android app
project/ios/AppName - iOS app
Berikut ini .travis.yml, yang menjalankan pengujian dengan Python, Java, dan 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
Tampaknya Anda dapat membuat konfigurasi berbeda sebanyak yang Anda suka menggunakan fitur ini, dengan memperlakukan setiap entri dalam matriks sebagai konfigurasi tingkat atas. Tentu saja, jika Anda memiliki parameter yang ingin Anda setel yang berlaku untuk semua bahasa, Anda dapat melakukannya di tingkat atas, seperti yang saya lakukan di sini dengan notifications:email
bagian.
Ketika semuanya sudah diatur, maka pada setiap build, Anda mendapatkan sesuatu seperti ini. Ledakan.