Flex coordinated tagging

Every Flex release uses coordinated tags across opentrons, oe-core, and ot3-firmware. The app tag is authoritative; robot OS matches it; firmware uses the same ot3@* tag internally or an ex* coordination tag externally, plus a colocated integer vN on the same commit.

Six common flavors: the internal and external pipelines, each with stable, beta, or alpha stability. At one semver base, alpha and beta are independent lanes with separate counters. See also Release channel hierarchy for how alpha, beta, and stable updater channels interact on Flex and OT-2.

Firmware coordination tag
Firmware integer vN
Robot OS (oe-core)
App (opentrons)
Internal pipeline stable
Coordinated release tags (tag push order) ot3-firmware coordination ot3@8.5.0 integer version (same commit) v70 oe-core (robot OS) ot3@8.5.0 opentrons (app) ot3@8.5.0 same tag on all three
Internal pipeline beta
Coordinated release tags (tag push order) ot3-firmware coordination ot3@8.5.0-beta.1 integer version (same commit) v70 oe-core (robot OS) ot3@8.5.0-beta.1 opentrons (app) ot3@8.5.0-beta.1 same tag on all three
Internal pipeline alpha
Coordinated release tags (tag push order) ot3-firmware coordination ot3@8.5.0-alpha.4 integer version (same commit) v70 oe-core (robot OS) ot3@8.5.0-alpha.4 opentrons (app) ot3@8.5.0-alpha.4 same tag on all three
External pipeline stable
Coordinated release tags (tag push order) ot3-firmware coordination ex10.0.0 integer version (same commit) v70 oe-core (robot OS) v10.0.0 opentrons (app) v10.0.0 stack tag maps to ex* on firmware
External pipeline beta
Coordinated release tags (tag push order) ot3-firmware coordination ex10.0.0-beta.1 integer version (same commit) v70 oe-core (robot OS) v10.0.0-beta.1 opentrons (app) v10.0.0-beta.1 stack tag maps to ex* on firmware
External pipeline alpha
Coordinated release tags (tag push order) ot3-firmware coordination ex10.0.0-alpha.2 integer version (same commit) v70 oe-core (robot OS) v10.0.0-alpha.2 opentrons (app) v10.0.0-alpha.2 stack tag maps to ex* on firmware

Rules (all flavors)

Tag push order

When creating tags, push in this order: ot3-firmware (if needed), oe-core (if needed), opentrons (app, always last). Run just validate-release-tags --tag <app-tag> before pushing the app tag.

Verify locally

just validate-release-tags --tag ot3@8.5.0-beta.1
just validate-release-tags --tag v10.0.0-alpha.2