Étant donné une matrice assez hétérogène qui ressemble à ceci:Puis-je multiplier les options dans matrix.include [] avec l'option env?
matrix:
include:
- os: linux
compiler: gcc
env: PLATFORM=android ARCH=arm64-v8a
- os: linux
compiler: gcc
env: PLATFORM=linux ARCH=aarch64
- os: osx
compiler: clang
env: PLATFORM=darwin ARCH=x86_64 TEST=unit
- os: osx
compiler: clang
env: PLATFORM=ios ARCH=arm64
Cela se traduirait par quatre builds. Je voudrais le multiplier par deux avec une variable d'environnement supplémentaire TYPE=Debug/Release
. Quelle est la meilleure façon d'obtenir cet effet? Considérons que j'ai seulement montré quatre configurations mais le nombre réel de configurations est 15. J'espère que je n'aurai pas à tout dupliquer deux fois.
J'ai essayé ce qui suit, mais il ne fait qu'ajouter deux autres constructions, il ne se combine pas avec la matrice:
env:
matrix:
- TYPE=Debug
- TYE=Release
Même avec ceci:
env:
- TYPE=Debug
- TYE=Release
Ce que je voulais dire dans mon fichier '.travis.yml', il y a littéralement 15 configurations et que je voudrais éviter de les doubler juste pour le plaisir de' Debug/Release 'dimensions. J'ai seulement montré 4 pour démontrer que chacun était assez unique que je pense que je ne peux pas "factoriser" quelque chose hors d'eux et que, AFAIK, je suis un peu coincé les épelant dehors. Par conséquent, j'espérais que je pourrais éviter de les épeler plus loin et finir avec 30 configurations. On dirait que je n'ai pas le choix, cependant. Merci. – screwnut
Mais voici une question connexe: ne pourrais-je pas faire quelque chose comme 'env: PLATFORM = ... ARCH = ... TYPES = Debug, Release' et dans mon script:' boucle sur les valeurs dans 'TYPES'? – screwnut
Le problème n'est pas différent si vous avez 2 ou 15 valeurs que vous voulez pour une variable d'environnement particulière. Il n'y a pas d'expansion de matrice, et vous devrez tous les écrire. Les outils comme ce que @renemilk a montré peuvent soulager votre douleur, mais il est toujours présent. – banzaiman