Skip to content
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

Staged Deployments (Release Streams) #1903

Open
nshoes opened this issue Feb 13, 2025 · 0 comments
Open

Staged Deployments (Release Streams) #1903

nshoes opened this issue Feb 13, 2025 · 0 comments
Labels

Comments

@nshoes
Copy link
Contributor

nshoes commented Feb 13, 2025

In #1652, we changed how we pull a device from deployment on connect. In the old-world, we'd check that the firmware version on device.firmware_metadata matched the associated deployment's version requirements.

# deployment_one
- version requirement: <1.0.0
- firmware version: 1.0.0

# deployment_two
- version requirement: 1.0.0
- firmware version: 1.0.1

This essentially allowed staged deployments. Once a device upgrade succeeded in deployment_one it would reconnect and be placed in deployment_two. In the new-world, we only check architecture and platform so this workflow isn't possible.

This feature lines up neatly with #1653. We could allow the user to pick a set of version and firmware requirements for a DeploymentGroup and then handle the rest.

# deployment_group.ex
has_many :deployment_stages
field :staged, :boolean, default: false

# deployment_stage.ex
belongs_to :deployment_group
field :version_requirement, :string
field :firmware_id
field :archive_id

There's more to figure out but I'm going to be rough on the specifics for now; I'm just jotting this down before I talk with others.

@nshoes nshoes changed the title Staged Deployments Staged Deployments (Release Streams) Feb 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant