Skip to content

ci: la matrice SDK cible 6.0/7.0/8.0-preview (tous EOL) — main rouge depuis 2025-12, 10 PRs dependabot en heritent #69

Open

Description

@jsboige

Constat

main échoue en continu depuis 2025-12 (dernier dotnet-ci vert antérieur ; runs schedule des 23→27/12 tous failure, idem Python Integration Tests). Les six jobs qui tombent sont exactement les six branches de la matrice SDK :

failure  build-and-test-docker  (ubuntu-latest, 6.0, Debug)
failure  build-and-test-docker  (ubuntu-latest, 6.0, Release)
failure  build-and-test-docker  (ubuntu-latest, 7.0, Release)
failure  build-and-test-docker  (ubuntu-latest, 8.0-preview, Release)
failure  build-and-test-windows (windows-latest, Debug, 7.0.x)
failure  build-and-test-windows (windows-latest, Release, 7.0.x)

.github/workflows/dotnet-ci.yml l.22-25 et l.71 :

SDK ciblé Statut
6.0 EOL 2024-11-12
7.0 / 7.0.x EOL 2024-05-14
8.0-preview jamais une release ; remplacée par 8.0 GA en 2023-11

Aucune branche de la matrice ne cible un SDK supporté. Le dépôt parent (CoursIA) est sur .NET 9.0.

Conséquence — c'est un défaut structurel, pas dix négligences

Ce dépôt porte 13 PRs ouvertes, dont 10 dependabot ouvertes entre 2025-05-25 et 2025-10-27 — jusqu'à 15 mois. Leur rouge n'est pas le leur : il est celui de main, qu'elles héritent. Les traiter une à une comme des PRs à réparer serait s'attaquer au symptôme.

Mesuré PR par PR :

PR Cible Rouge Imputable à la PR ?
#49 paths-filter@v2→v3 workflows 0 non — MERGED ce jour
#52 actions/cache@v3→v4 workflows 0 non — MERGED ce jour
#59 setup-python@v4→v6, #61 codeql-action@v2→v4, #62 upload-artifact@v3→v5 workflows 4-5 non : rouge hérité de main
#54, #55, #56, #57, #60 Directory.Packages.props 12 non : rouge hérité de main

Une part de ces bumps est la réparation, pas un risque : actions/cache@v3 et actions/upload-artifact@v3 sont retirés du service par GitHub depuis début 2025 — les laisser dormir garantit un rouge de plus qui n'a rien à voir avec le code.

Ce qui est demandé

  1. Moderniser la matrice SDK vers des versions supportées (8.0 LTS + 9.0), retirer 8.0-preview et 6.0/7.0. C'est le geste qui rend un vert de nouveau lisible.
  2. Une fois main vert : reprendre les bumps GitHub-Actions (build(deps): bump actions/setup-python from 4 to 6 #59, build(deps): bump github/codeql-action from 2 to 4 #61, build(deps): bump actions/upload-artifact from 3 to 5 #62) — vérifiables sans build.
  3. Puis les bumps NuGet (Bump coverlet.collector and 14 others #54, Bump Microsoft.CodeAnalysis.NetAnalyzers from 8.0.0-preview.23472.1 to 9.0.0 #55, Bump Microsoft.NET.Test.Sdk from 17.8.0 to 17.13.0 #56, Bump coverlet.collector from 6.0.0 to 6.0.4 #57, Bump Microsoft.CodeAnalysis.Analyzers from 3.11.0-beta1.23472.1 to 3.11.0 #60), qui exigent un build fonctionnel pour être validés. Les merger avant la réparation reviendrait à les accepter sans preuve.

Acceptance

  • dotnet-ci vert sur main, sur au moins une branche de matrice à SDK supporté.
  • La matrice ne référence plus aucun SDK EOL.
  • Les 8 dependabot restantes disposées explicitement : mergées, ou fermées avec le motif écrit.

Provenance

Passe de coordination du parent (CoursIA), sous la règle submodule-maintenance HARD 3 — « l'absence de gate est le défaut, pas les PRs qui dorment ». Le second défaut structurel du dépôt, upgrade-sk en racine disjointe de main (404 No common ancestor, bloquant #64/#65/#66), est traité séparément.

Activity

  1. jsboige commented on Sep 5, 2026

    @jsboige
    ContributorAuthor

    Grain: MED/guard — lane myia-po-2025:CoursIA-2 — prev: MED/refactor #70

    [CLAIMED] lane myia-po-2025:CoursIA-2 -- paths: .github/workflows/dotnet-ci.yml — moderniser la matrice vers .NET 8 LTS + .NET 9, avec couverture explicite des solutions net8/netstandard et net9 ; validation locale avant PR.

  2. jsboige commented on Sep 5, 2026

    @jsboige
    ContributorAuthor

    [PROGRESS] PR #71 published and manual matrix run inspected: https://github.com/MyIntelligenceAgency/semantic-fleet/actions/runs/33978279549

    Verified outcomes:

    • all six .NET 8/9 solution builds passed;
    • all three Docker jobs passed end to end;
    • all three Windows builds passed, then their test steps failed after the single bounded retry on the same pre-existing load-sensitive assertion: MultiConnectorAnalysisShouldDecreaseCostsAsync at MultiConnectorTextCompletionTests.cs:224;
    • the second failure remains terminal, so the workflow does not hide persistent failures.

    PR #71 remains open and unmerged. Its body now uses See #69, not an auto-closing keyword, because the acceptance criterion “dotnet-ci green” is not yet met. A deterministic redesign of that wall-clock test is the remaining technical blocker; it was not masked with a skip or unbounded retries, and it is outside the current path-scoped YAML claim.

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