Skip to content

Describe the release flow as it works now - #136

Merged
frahlg merged 1 commit into
mainfrom
docs/release-flow-follows-ftw
Sep 25, 2026
Merged

frahlg merged 1 commit into
mainfrom
docs/release-flow-follows-ftw

Conversation

@frahlg

@frahlg frahlg commented Sep 25, 2026

Copy link
Copy Markdown
Member

Docs only. The README's release flow named an undefined "site test" step and called every channel asset read-only. Drivers now reach FTW users with the FTW release (the pinned commit); every main commit is signed to drivers-beta; drivers-stable is promoted after a stable FTW release with one command (FTW AGENTS.md release step 5). Control drivers keep their control path in the channel.

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 <fredrik@sourceful-labs.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-25T08:32:36.525368Z df11b6e PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@frahlg
frahlg merged commit 92adaf0 into main Sep 25, 2026
5 checks passed
@frahlg
frahlg deleted the docs/release-flow-follows-ftw branch September 25, 2026 08:31

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: df11b6e51b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread README.md
Comment on lines +123 to +124
the catalog marks `control: true` keeps its control path; every other one is
read-only. Refreshing the signed catalog never installs or activates code.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Describe the actual control predicate

The catalog flag does not determine whether a channel artifact is read-only: tools/ftw_repository.py sets controls from the presence of driver_command and the absence of DRIVER.read_only (lines 640-648). Consequently, current drivers including kstar, pixii, alphaess, solaredge, solax, varta, and deye have control: false manifests but receive write-capable channel artifacts. Saying every driver not marked control: true is read-only gives operators a false safety guarantee and obscures the required read/control distinction.

AGENTS.md reference: AGENTS.md:L17-L23

Useful? React with 👍 / 👎.

Comment thread README.md
Comment on lines +115 to +116
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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Limit the beta publication claim to triggering commits

The release workflow does not publish every commit on main: .github/workflows/ftw-drivers-release.yml lines 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 leave drivers-beta pointing at an older SHA, so the unconditional statement is incorrect and can mislead provenance checks.

Useful? React with 👍 / 👎.

Comment thread README.md
Comment on lines +118 to +119
promoted with `gh workflow run ftw-drivers-release.yml --ref main -f
channel=stable`; it accepts only the exact commit `drivers-beta` carries, and

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Make the stable command target the beta commit

When main advances after the beta commit used by the FTW stable release, this command targets the new head rather than that beta commit. The workflow requires its checkout to equal current origin/main at .github/workflows/ftw-drivers-release.yml lines 46-51 and then requires the same SHA as drivers-beta at lines 73-92, so an intervening non-release commit causes the documented promotion command to fail; an intervening beta publication could instead promote a commit FTW stable did not bundle. The release step needs a way to select the exact tested beta commit, or the documentation must state and enforce the required ordering.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant