ci: ajoute windows-latest à la matrice pytest#23
Merged
Conversation
Ajoute windows-latest aux OS testés et force `shell: bash` (Git Bash est disponible sur les runners Windows) afin que `pip install -e .[test]` et la sélection conditionnelle de `--full` se comportent comme sur ubuntu/macos. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
La suite `--full` télécharge tous les paquets de chaque modèle sur les deux jeux de définitions GRIB (eccodes + meteofrance) : elle dépasse largement les 30 min sur les trois OS (elle était déjà coupée à 30 min avant l'ajout de Windows). Le timeout devient conditionnel : 120 min pour le run manuel `--full`, 30 min pour la suite partielle des PR. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Objectif
Ajouter
windows-latestà la matrice de la CI pytest, en plus deubuntu-latestetmacos-latest, et vérifier le comportement sous Windows (notamment la limite des 2 Go decfgrib).Changements
os: [ubuntu-latest, macos-latest, windows-latest].shell: bashforcé au niveau du job. Surwindows-latestle shell par défaut est PowerShell, qui interprète différemment les crochets depip install -e .[test]et n'a pas l'opérateur&& … || ''servant à sélectionner--full. Git Bash étant préinstallé sur les runners Windows, forcer bash garantit un comportement identique sur les trois OS.120 minpour le run manuel--full,30 minpour la suite partielle des PR. La suite complète télécharge tous les paquets réels de chaque modèle sur les deux jeux de définitions GRIB et dépasse largement 30 min (elle était déjà coupée à 30 min avant cette PR, sur les trois OS).Résultats CI
Suite restreinte (défaut PR) — ✅ verte sur les 3 OS
ubuntu-latest,macos-latest,windows-latest: tous verts (~10 min). Le pipeline standardcfgrib.open_datasetsfonctionne sous Windows.Suite complète (
--full, workflow_dispatch) — tests OK, runs interrompusChaque test exécuté est PASSED sur les trois OS (aucun échec observé, sur l'ensemble des tests de disponibilité + plusieurs modèles complets). Les runs
--fulln'ont toutefois pas pu aller au bout : ils sont interrompus prématurément (à 26 min puis 3,5 min, bien avant le timeout de 120 min), par une annulation côté compte. À investiguer séparément (durée/coût des runs full sur 3 OS, ~75-90 min attendus).Sur la limite des 2 Go GRIB sous Windows
cfgribne sait pas lire un fichier GRIB > 2 Go sous Windows.Model._read_grib(meteofetch/_model.py) gère déjà ce cas en découpant le fichier par variable viagrib_copylorsquesystem() == "Windows"etgetsize(path) >= 2**31.Deux constats :
N_GROUPS = 2/groups_[:2]), donc aucun fichier téléchargé n'atteint 2 Go, y compris en mode--full. La CI Windows valide donc le pipeline standard, pas le découpage.grib_copyn'est pas fourni par le wheeleccodespip (seule la bibliothèque partagée l'est, pas les outils CLI). Le workaround > 2 Go dépend donc d'ungrib_copyprésent sur lePATH, ce qui n'est pas garanti dans un environnement pip pur sous Windows. Non régressé par cette PR (branche non exécutée en test), mais à garder en tête pour les utilisateurs Windows manipulant de gros paquets réels — à traiter séparément si besoin.Validation
--full) : tous les tests passent, mais les runs sont interrompus côté compte avant complétion.🤖 Generated with Claude Code