openfisca / openfisca-france

French tax and benefit system for OpenFisca
https://openfisca.org/fr
260 stars 99 forks source link

Fix CI `test-conda` qui ne fonctionnait plus #2381

Closed benoit-cty closed 3 weeks ago

benoit-cty commented 3 weeks ago
> Install package
Run mamba install --channel file:///${RUNNER_TEMP//\\//}/conda-bld --channel openfisca openfisca-france
  mamba install --channel file:///${RUNNER_TEMP//\\//}/conda-bld --channel openfisca openfisca-france
  shell: C:\Program Files\Git\bin\bash.EXE -l {0}
  env:
    INPUT_RUN_POST: true
    CONDA: C:\Users\runneradmin\miniconda3
'onda-bld' is not recognized as an internal or external command,
operable program or batch file.
Error: Process completed with exit code 1.

Ces changements (effacez les lignes ne correspondant pas à votre cas) :

Quelques conseils à prendre en compte :

sandcha commented 3 weeks ago

Au cas où à l'étape Setup conda, nous avons ce warning (job exemple) :

> Applying initial configuration...
  Warning: The 'defaults' channel might have been added implicitly. If this is intentional, add 'defaults' to the 'channels' list. Otherwise, consider setting 'conda-remove-defaults' to 'true'.
sandcha commented 3 weeks ago

Pourquoi utilisons-nous pwsh en CI pour build-and-test-conda ?

Les appels à la commande mamba ne fonctionnaient pas sur plateforme windows-latest et shell de type bash. C'est pourquoi, ayant besoin d'une installation du paquet avec mamba, nous sommes passés à PowerShell (pwsh).

On poursuit l'usage de mamba jugé plus rapide mais écart de temps à analyser. Build conda réalisé en environ 3mn40 aujourd'hui ?

Pourquoi build-conda et test-conda ont-ils été rassemblés en build-and-test-conda ?

Pour résoudre test-conda qui ne trouvait plus la commande openfisca (marchait sur master), nous avons constaté que la commande mamba d'installation n'était plus exécutée (pas vue, les chemin perdaient aussi leurs backslashes). On est alors passé à PowerShell comme décrit ci-dessus pour pouvoir appeler mamba. Ceci a eu pour conséquence un écart d'environnement entre build et test. Cet écart a produit des erreur de cache introuvable pour SHA différent alors que le print indiquait le même SHA. Rassembler les 2 jobs permet de se prémunir des erreurs de cache propres à de l'environnement de CI (pas d'impact usager openfisca).

benoit-cty commented 3 weeks ago

Il y a un warning :

Warning: C:\Users\runneradmin\miniconda3\Lib\site-packages\conda\cli\main_config.py:738: FutureWarning: Adding 'defaults' to channel list implicitly. is deprecated and will be removed in 25.3. In the future, defaults won't be added when 'conda config --add/--append channels' is used. If you depend on that behavior, run 'conda config --append channels defaults'.

Mais il vient de conda-incubator/setup-miniconda@v3 je n'ai pas l'impression que l'on puisse l’empêcher. Son ajout dans les channel n'enlève pas le warning.

benoit-cty commented 3 weeks ago

Ce workflow est passé par toutes les étapes, l'erreur est due au fait que le paquet existe déjà dans cette version, ce qui est normal avant le bump : https://github.com/openfisca/openfisca-france/actions/runs/11685794494