You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Framework groups for support policy consolidation (lowercase keys)
359
+
# Flat list: repos split directly to per-repo rows on mismatch
360
+
# Nested dict: repos consolidate by sub-group first on mismatch
359
361
framework_groups:
360
362
pytorch:
361
-
- pytorch-training
362
-
- pytorch-inference
363
-
- pytorch-training-arm64
364
-
- pytorch-inference-arm64
365
-
tensorflow:
366
-
- tensorflow-training
367
-
- tensorflow-inference
368
-
- tensorflow-inference-arm64
363
+
pytorch-training:
364
+
- pytorch-training
365
+
- pytorch-training-arm64
366
+
pytorch-inference:
367
+
- pytorch-inference
368
+
- pytorch-inference-arm64
369
+
vllm:
370
+
- vllm
371
+
- vllm-arm64
369
372
370
373
# Table order (controls order in available_images.md and support_policy.md)
371
374
table_order:
@@ -376,20 +379,25 @@ table_order:
376
379
377
380
### Support Policy Consolidation
378
381
379
-
The `framework_groups` configuration consolidates support policy rows by framework. Repositories in the same group are combined into a single row using the framework name (e.g., "PyTorch").
382
+
The `framework_groups` configuration consolidates support policy rows by framework. The generation follows a 3-step flow:
380
383
381
-
**Version Display:**
384
+
**Validation (at load time):**`load_repository_images` validates that images sharing the same full version within a single repository have identical GA/EOP dates. Raises `ValueError` if not (this is a data bug).
382
385
383
-
- Images with the same major.minor version (e.g., `2.6.0` and `2.6.1`) are consolidated into a single row displayed as `2.6` if they have identical GA/EOP dates
384
-
- If patch versions have different GA/EOP dates, each is displayed separately with full version (e.g., `2.6.0`, `2.6.1`) and a warning is logged
386
+
**Step 1 — Group by full version:** All images in a framework group are grouped by full version (e.g., `2.6.0`), deduplicated per repository (one representative image per repo since intra-repo consistency is guaranteed).
385
387
386
-
**Requirements:**
388
+
**Step 2 — Hierarchical consolidation** via `_consolidate_framework_version()`: For each full version, tries three levels of date agreement, stopping at the first that succeeds:
389
+
390
+
1. Framework group — all repos agree → single row (e.g., "PyTorch")
391
+
1. Sub-group — repos within a sub-group agree → one row per sub-group (e.g., "PyTorch Inference"). Only applies to nested dict groups in `framework_groups`.
392
+
1. Per-repo — no agreement → one row per repository using its individual display name
393
+
394
+
**Step 3 — Major.minor collapse:** Non-split entries are grouped by major.minor. If all full versions within a major.minor share the same dates, they collapse into a single row displayed as the major.minor (e.g., `2.6`). Collapse is skipped for any major.minor that has split (per-repo) rows.
395
+
396
+
**Behavior:**
387
397
388
-
- All repositories in a group that have a given full version (X.Y.Z) must have identical GA/EOP dates
389
398
- Missing versions in some repositories are allowed (only present repos are consolidated)
390
-
- A `ValueError` is raised if dates differ within a group for the same full version
391
399
392
-
To add a new framework group, add an entry to `framework_groups` with the framework name as key and list of repositories as value.
400
+
To add a new framework group, add an entry to `framework_groups` with the framework name as key and list of repositories as value. Use nested dict format if you need intermediate sub-group consolidation when dates differ.
Copy file name to clipboardExpand all lines: docs/DEVELOPMENT.md
+10-6Lines changed: 10 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -65,7 +65,7 @@ See `docs/src/data/template/image-template.yml` for all available fields.
65
65
### Step 2: Regenerate
66
66
67
67
```bash
68
-
cd docs/src && python main.py --verbose
68
+
python docs/src/main.py --verbose
69
69
```
70
70
71
71
---
@@ -76,15 +76,19 @@ Add `ga` and `eop` fields to image configs for repositories that appear in suppo
76
76
77
77
```yaml
78
78
ga: "2025-10-15" # General Availability date
79
-
eop: "2026-10-15" # End of Patch date
79
+
eop: "2035-10-15" # End of Patch date
80
80
```
81
81
82
82
**Version Consolidation:**
83
83
84
-
- Images with the same major.minor version (e.g., `2.6.0` and `2.6.1`) are consolidated into a single row displayed as `2.6` if they have identical GA/EOP dates
85
-
- If patch versions have different GA/EOP dates, each is displayed separately with full version (e.g., `2.6.0`, `2.6.1`) and a warning is logged
84
+
- Images with the same major.minor version and identical GA/EOP dates are consolidated into a single row displayed as `2.6` with the framework group name (e.g., "PyTorch")
85
+
- If the same version has different GA/EOP dates across repository types (e.g., training vs inference), separate rows are created showing the specific repository type: "PyTorch Training"and "PyTorch Inference"
86
+
- ARM64 variants are automatically consolidated with their base repository
87
+
- If patch versions within the same repository have different GA/EOP dates, each is displayed separately with full version (e.g., `2.6.0`, `2.6.1`) and a warning is logged
86
88
87
-
**Validation:** All images in the same framework group with the same full version (X.Y.Z) must have identical GA/EOP dates.
89
+
**Flexibility:** Repositories in the same framework group (e.g., pytorch-training and pytorch-inference) can have different GA/EOP dates for the same version. The system will automatically create separate rows showing the specific repository type when dates differ.
90
+
91
+
**Example:** If PyTorch 2.6 Training has EOP 2025-10-15 but PyTorch 2.6 Inference has EOP 2026-10-15, the support policy table will show two separate rows with "PyTorch Training" and "PyTorch Inference" in the Framework column.
88
92
89
93
---
90
94
@@ -229,4 +233,4 @@ For any changes required to the tutorial pages, create a new PR in
229
233
| "Display name not found" | Add repository to `display_names` in `global.yml` |
230
234
| "Inconsistent dates" | Ensure all images in same framework group/version have identical GA/EOP |
231
235
| Images not appearing | Check repository is in `table_order` |
232
-
| Release notes not generating | Ensure `announcements` and `packages` fields are present |
236
+
| Release notes not generating | Ensure `announcements` and `packages` fields are present |
0 commit comments