Skip to content

Merge plan for the dev-clean series of pull requests (#407 to #469) #470

Description

@Jordan08

Cette issue présente la série de pull-requests #407 à #469, qui remplace #403. Elles viennent de la branche dev-clean de Jordan08/codac, partent de l'état actuel de codac2 et y apportent, en 63 commits d'une taille relisible, le travail fait dans les branches fix-warnings-v2 puis GAOL-v2.

Démarche

  • Remplacer IBEX par GAOL. Codac ne se servait d'IBEX que pour GAOL, sur lequel repose codac2::Interval. Codac trouve maintenant GAOL sur le système ou compile le master du fork Jordan08/GAOL, qui porte les correctifs dont Codac a besoin : les garde-fous que Codac maintenait autour de GAOL disparaissent, et les options de compilation (arrondi, FMA) viennent de GAOL lui-même.
  • Outiller le debug et la CI. ASan/UBSan en Debug, couverture de code (WITH_COVERAGE), exemples lancés comme tests, workflows Debug sous Linux, macOS et Windows, vérification du paquet installé (find_package et pkg-config).
  • Reprendre le reste de Fix warnings v2 #403. Corrections de bugs relevés par les sanitizers, corrections d'avertissements, packaging CMake, opérateur @ en Python, documentation.

Chaque commit correspond à une PR, dont la description explique d'où vient la modification et à quoi elle sert. Chaque commit qui touche au code ou au build a été compilé et testé seul (Linux, Clang 18, Release, avec les bindings Python et les exemples) : la suite de tests passe à chaque étape. L'extension CAPD, non installée, n'a pas été compilée : #423 n'est vérifiée que par relecture. L'état final a en plus passé la CI complète du fork (Linux, macOS, Windows, Docker, Debug sous sanitizers) sur la branche GAOL-v2, qui a le même contenu ; celle de dev-clean est en cours.

Organisation de la série

Bloc Rangs PR Contenu
0 1 #407 .gitignore
1 – GAOL 2–10 #408–#416 Conversions IBEX retirées, Approx relatif, passage à GAOL, CI et manuel sans IBEX, std::abs, garde-fous retirés, atan2 de GAOL
2 – FMA 11–12 #417–#418 Activation de GAOL_FMA, export de Threads
3 – Debug 13–28 #419–#434 Les 10 correctifs C++, puis ASan/UBSan, en-têtes dans src/, WITH_COVERAGE, exemples, make check
4 – CI 29–37 #435–#443 Workflows sur toutes les branches, Doxygen, wheels, workflows Debug, doc des tests
5 38–62 #444–#468 CMake et packaging, warnings, opérateur @, documentation
6 63 #469 Page de couverture

Merger dans l'ordre

Les PR se suivent : chacune part de la précédente. Il faut donc les merger dans l'ordre de la liste ci-dessous, en commençant par #407.

  • Tant que les PR précédentes ne sont pas mergées, une PR affiche aussi leurs commits ; le sien est toujours le dernier. Une fois la précédente mergée, elle ne montre plus que le sien.
  • Pour que cela marche, il faut merger avec « Create a merge commit » ou « Rebase and merge ». Avec « Squash and merge », les PR suivantes ne reconnaîtraient plus les commits déjà intégrés et devraient être rebasées.
  • Les workflows d'une PR venant d'un fork attendent l'approbation d'un mainteneur avant de tourner.

Liste des PR à valider, dans l'ordre

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions