-
Notifications
You must be signed in to change notification settings - Fork 3
Describe the release flow as it works now #136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -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 | ||
|
Comment on lines
+118
to
+119
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
When Useful? React with 👍 / 👎. |
||
| 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. | ||
|
Comment on lines
+123
to
+124
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
The catalog flag does not determine whether a channel artifact is read-only: AGENTS.md reference: AGENTS.md:L17-L23 Useful? React with 👍 / 👎. |
||
| 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 | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The release workflow does not publish every commit on
main:.github/workflows/ftw-drivers-release.ymllines 3-14 has a paths filter covering driver, manifest, build-tool, and workflow files. README-only, test-only, and many other commits—including this commit itself—therefore leavedrivers-betapointing at an older SHA, so the unconditional statement is incorrect and can mislead provenance checks.Useful? React with 👍 / 👎.