Parece que agora é possível executar vários idiomas em um arquivo .travis.yml usando o matrix:include
recurso. Por exemplo, meu repositório Github é organizado da seguinte maneira:
project/ - top-level github directory
project/backend - Python backend
project/backend/tests - Python tests
project/android/AppName - Android app
project/ios/AppName - iOS app
Aqui está o .travis.yml, que executa testes em Python, Java e 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 você pode construir quantas configurações diferentes quiser usando este recurso, tratando cada entrada na matriz como uma configuração de nível superior. Claro, se você tiver quaisquer parâmetros que deseja definir que se apliquem a todos os idiomas, você pode fazer isso no nível superior, como faço aqui com onotifications:email
seção.
Quando tudo estiver configurado, em cada construção, você obterá algo assim. Estrondo.