From df11b6e51b3f1c71a3b4ffc6714fffcb81c9a510 Mon Sep 17 00:00:00 2001 From: Fredrik Ahlgren Date: Fri, 25 Sep 2026 10:29:52 +0200 Subject: [PATCH] Describe the release flow as it works now Drivers reach FTW users with the FTW release (the pinned commit), every main commit is signed to drivers-beta, and drivers-stable is promoted after a stable FTW release with one command. The old text named an undefined "site test" step and called every channel asset read-only, although control drivers keep their control path. Signed-off-by: Fredrik Ahlgren --- README.md | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 18cf5f2..ae65553 100644 --- a/README.md +++ b/README.md @@ -105,16 +105,24 @@ source commit and artifact bytes; it does not claim hardware test coverage. ## Release flow ```text -public PR -> public CI -> reviewed commit -> signed FTW beta - -> site test -> stable promotion of the exact beta commit +public PR -> public CI -> reviewed commit on main -> signed drivers-beta + -> FTW pins the commit and ships it in an FTW beta + -> FTW stable -> drivers-stable promoted ``` -The FTW channel contains every catalog driver. The release build turns each -source into a separate, read-only Lua asset and checks its FTW v1 contract. -The beta workflow runs on protected `main`; stable promotion requires the exact -signed commit found in beta. Refreshing the signed catalog never installs or -activates code. FTW keeps its own safety, activation, rollback and bundled -recovery paths. +Drivers reach FTW users with the FTW release: FTW bundles the commit pinned in +its `drivers/BUNDLED_SOURCE.json`, and `ftw update` and `ftw rollback` move +those drivers with FTW. Every commit on `main` is published to the signed +`drivers-beta` channel, where an owner can pick one driver's newer version +from FTW's Versions list. After a stable FTW release, `drivers-stable` is +promoted with `gh workflow run ftw-drivers-release.yml --ref main -f +channel=stable`; it accepts only the exact commit `drivers-beta` carries, and +serves installs that read the stable channel. + +The channel contains every catalog driver as its own signed Lua asset. A driver +the catalog marks `control: true` keeps its control path; every other one is +read-only. Refreshing the signed catalog never installs or activates code. +FTW keeps its own safety, activation, rollback and bundled copies. Each asset name contains the driver ID, semantic version and source hash. FTW downloads only the selected driver. The release workflow never replaces a