Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions doc/handwritten/for-maintainers/AddingAReleaseTrain.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,22 @@ everything else about the train from `trains.sh`.)
missing). You may pre-create it by hand for a tidier first pull request, but you
do not have to.

## Removing a train

The reverse of this runbook, with one step it does not have a mirror for: **a train
whose workflow publishes a REQUIRED status check leaves that requirement behind.**
Deleting the workflow does not delete the rule that waits for it, so every later pull
request sits at `mergeable_state: blocked` with every check green — a state that reads
as a content problem and is not one. Remove the check names from the branch ruleset
(*Settings → Rules*) in the same breath as the workflow.

This is not hypothetical: removing the `dum` train left `JustDummies mutation gate` and
`JustDummies packaged-asset compatibility` required, and the pull request that removed
it could not merge until they were dropped from the ruleset.

Dropping a requirement for code the repository no longer contains is not a weakened
protection. Keeping it protects nothing and blocks everything.

## Verify

- **Commit convention:** make a commit under a new scope and confirm
Expand Down
17 changes: 17 additions & 0 deletions doc/handwritten/for-maintainers/AddingAReleaseTrain.fr.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,23 @@ workflow lit tout le reste du train depuis `trains.sh`.)
Vous pouvez le pré-créer à la main pour une première pull request plus propre, mais
ce n'est pas obligatoire.

## Retirer un train

L'inverse de ce runbook, avec une étape dont il n'a pas le miroir : **un train dont le
workflow publie un check de statut REQUIS laisse cette exigence derrière lui.**
Supprimer le workflow ne supprime pas la règle qui l'attend, et toute pull request
ultérieure reste en `mergeable_state: blocked` avec tous ses checks au vert — un état
qui se lit comme un problème de contenu alors qu'il n'en est pas un. Retirez les noms
de ces checks du ruleset de la branche (*Settings → Rules*) dans le même mouvement que
le workflow.

Ce n'est pas hypothétique : retirer le train `dum` a laissé `JustDummies mutation gate`
et `JustDummies packaged-asset compatibility` requis, et la pull request qui le
retirait n'a pas pu être mergée avant qu'ils ne soient sortis du ruleset.

Retirer une exigence portant sur du code que le dépôt ne contient plus n'est pas un
affaiblissement de la protection. La garder ne protège rien et bloque tout.

## Vérifier

- **Convention de commit :** faites un commit sous un nouveau scope et confirmez que
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ L'outillage ciblait auparavant la dernière version de .NET. Cela empêchait les

Le worker charge également les assemblies des consommateurs. Son processus doit donc pouvoir s'exécuter sur un runtime compatible avec l'assembly cible qu'il inspecte. Il s'agit d'une question de sélection du runtime, pas d'une raison de publier un binaire par version de .NET.

Au moment de la décision, .NET 8 était la plus ancienne LTS prise en charge et correspondait au plancher de l'hôte de l'analyseur. Le plancher distinct de prise en charge de .NET Framework par la bibliothèque est défini par l'[ADR-0022](0022-floor-the-library-on-net-framework-4-7-2.fr.md), qui raffine la mention incidente auparavant présente ici.
Au moment de la décision, .NET 8 était la plus ancienne LTS prise en charge et correspondait au plancher de l'hôte de l'analyseur. Le plancher distinct de prise en charge de .NET Framework par la bibliothèque est défini par l'[just-dummies ADR-0007](https://github.com/Reefact/just-dummies/blob/main/doc/handwritten/for-maintainers/adr/0007-floor-the-library-on-net-framework-4-7-2.md), qui raffine la mention incidente auparavant présente ici.

## Décision

Expand Down Expand Up @@ -69,5 +69,5 @@ Envisagé comme stratégie classique de compatibilité. Rejeté parce qu'un buil
* [Référence d'implémentation des ADR — Plancher d'exécution des outils](../specifications/adr-implementation-reference.fr.md#plancher-dexécution-des-outils)
* [Référence du workflow `ci`](../workflows/ci.fr.md)
* [ADR-0001](0001-lock-the-analyzer-roslyn-floor.fr.md) — la décision correspondante pour l'hôte de l'analyseur.
* [ADR-0022](0022-floor-the-library-on-net-framework-4-7-2.fr.md) — raffine le plancher .NET Framework de la bibliothèque et remplace la mention incidente de 4.6.1 auparavant présente dans cet ADR.
* [just-dummies ADR-0007](https://github.com/Reefact/just-dummies/blob/main/doc/handwritten/for-maintainers/adr/0007-floor-the-library-on-net-framework-4-7-2.md) — raffine le plancher .NET Framework de la bibliothèque et remplace la mention incidente de 4.6.1 auparavant présente dans cet ADR.
* [ADR-0024](0024-allow-a-one-time-editorial-refactoring-of-accepted-adrs.fr.md) — autorise cette extraction éditoriale.
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ The tooling previously targeted the latest .NET runtime. That prevented consumer

The worker also loads consumer assemblies. Its process must therefore be able to run on a runtime compatible with the target assembly it inspects. This is a runtime-selection concern rather than a reason to publish one binary per .NET release.

At the time of the decision, .NET 8 was the oldest supported LTS and matched the product's analyzer-host floor. The library's separate .NET Framework support floor is defined by [ADR-0022](0022-floor-the-library-on-net-framework-4-7-2.md), which refines the incidental statement previously carried here.
At the time of the decision, .NET 8 was the oldest supported LTS and matched the product's analyzer-host floor. The library's separate .NET Framework support floor is defined by [just-dummies ADR-0007](https://github.com/Reefact/just-dummies/blob/main/doc/handwritten/for-maintainers/adr/0007-floor-the-library-on-net-framework-4-7-2.md), which refines the incidental statement previously carried here.

## Decision

Expand Down Expand Up @@ -69,5 +69,5 @@ Considered as the conventional compatibility strategy. Rejected because one floo
* [ADR implementation reference — Tooling runtime floor](../specifications/adr-implementation-reference.md#tooling-runtime-floor)
* [`ci` workflow reference](../workflows/ci.en.md)
* [ADR-0001](0001-lock-the-analyzer-roslyn-floor.md) — the analyzer-host counterpart.
* [ADR-0022](0022-floor-the-library-on-net-framework-4-7-2.md) — refines the library's .NET Framework floor; it replaces the incidental 4.6.1 statement formerly present in this ADR.
* [just-dummies ADR-0007](https://github.com/Reefact/just-dummies/blob/main/doc/handwritten/for-maintainers/adr/0007-floor-the-library-on-net-framework-4-7-2.md) — refines the library's .NET Framework floor; it replaces the incidental 4.6.1 statement formerly present in this ADR.
* [ADR-0024](0024-allow-a-one-time-editorial-refactoring-of-accepted-adrs.md) — authorizes this editorial extraction.

This file was deleted.

This file was deleted.

Loading