Skip to content

Add concurrency: group to repo-based deploy/delete workflows to serialize shared state-archive access #12848

Description

@sk593

Background

Follow-up from PR #12840 (review by @kachawla).

The four repo-based deploy/delete workflows (run-rad-commands-aws.yml, run-rad-commands-azure.yml, delete-aws.yml, delete-azure.yml) share a single durable state archive (the OCI package selected by RADIUS_STATE_*, or the radius-state git orphan branch). Each run does rad startup (restore) → commands → rad shutdown (persist).

Gap

None of the workflows declares a concurrency: group. If two runs against the same repo/environment overlap, they race on the shared archive: one run's rad shutdown can overwrite state the other run restored, or two runs can push conflicting snapshots, corrupting the archive.

Proposed fix

Add a concurrency: group (keyed by workflow + environment/ref, with an appropriate cancel-in-progress policy) to serialize runs that share a state archive.

Scope

Not required to fix #12838 — that failure is deterministic within a single run. This is an unrelated robustness improvement and is intentionally out of scope for #12840.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething is broken or not working as expected

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions