|
| 1 | +## Channel Classification Flow |
| 2 | + |
| 3 | +flowchart TD |
| 4 | + Start([Version Input]) --> Check{Matches<br/>YY.MM-patch?} |
| 5 | + |
| 6 | + Check -->|"Yes (25.04-1)"| Month{Month<br/>1-12?} |
| 7 | + Check -->|"No (1.2.3)"| Stable[Stable Channel] |
| 8 | + |
| 9 | + Month -->|Yes| Latest["Latest Channel<br/>(normalize: 25.4.1)"] |
| 10 | + Month -->|"No (25.13-1)"| Stable |
| 11 | + |
| 12 | + Latest --> ValidL{Valid<br/>semver?} |
| 13 | + Stable --> ValidS{"Valid semver<br/>>= 1.0.0?"} |
| 14 | + |
| 15 | + ValidL -->|Yes| AcceptL["✅ Accept as Latest"] |
| 16 | + ValidL -->|No| Reject["❌ Skip"] |
| 17 | + |
| 18 | + ValidS -->|Yes| AcceptS["✅ Accept as Stable"] |
| 19 | + ValidS -->|No| Reject |
| 20 | + |
| 21 | + style AcceptL fill:#90EE90,stroke:#2d5016 |
| 22 | + style AcceptS fill:#87CEEB,stroke:#003d5c |
| 23 | + style Reject fill:#ffcccb,stroke:#8b0000 |
| 24 | + style Latest fill:#e1f5ff,stroke:#0066cc |
| 25 | + style Stable fill:#f0fff0,stroke:#006400### Examples |
| 26 | + |
| 27 | +| Input Version | Matches Pattern? | Month Valid? | Channel | Normalized | Valid? | Result | |
| 28 | +|--------------|------------------|--------------|---------|------------|--------|--------| |
| 29 | +| `25.04-1` | ✅ Yes | ✅ Yes (4) | Latest | `25.4.1` | ✅ Yes | ✅ **Accept Latest** | |
| 30 | +| `25.13-1` | ✅ Yes | ❌ No (13) | Stable | `25.13-1` | ❌ No | ❌ **Skip** | |
| 31 | +| `1.2.3` | ❌ No | - | Stable | `1.2.3` | ✅ Yes | ✅ **Accept Stable** | |
| 32 | +| `0.9.0` | ❌ No | - | Stable | `0.9.0` | ❌ No (< 1.0.0) | ❌ **Skip** | |
| 33 | +| `24.12-10` | ✅ Yes | ✅ Yes (12) | Latest | `24.12.10` | ✅ Yes | ✅ **Accept Latest** | |
0 commit comments