Parece que ahora es posible ejecutar varios idiomas en un archivo .travis.yml usando la matrix:include
función. Como ejemplo, mi repositorio de Github está organizado de la siguiente manera:
project/ - top-level github directory
project/backend - Python backend
project/backend/tests - Python tests
project/android/AppName - Android app
project/ios/AppName - iOS app
Aquí está el .travis.yml, que ejecuta pruebas en Python, Java y 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
Parece que puede crear tantas configuraciones diferentes como desee utilizando esta función, tratando cada entrada en la matriz como una configuración de nivel superior. Por supuesto, si tiene algún parámetro que desee establecer que se aplique a todos los idiomas, puede hacerlo en el nivel superior, como lo hago aquí con la notifications:email
sección.
Cuando todo está configurado, en cada compilación, obtienes algo como esto. Auge.