[P2] ci-cd: cancel-in-progress interrupts long provision and increases drift risk
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Refactor
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- azure, github-actions
- Domain
- ci-cd, cloud, infrastructure
Research direction
Start with .github/workflows/azd-deploy.yml and inspect the concurrency settings around the workflow_dispatch deployment and Provision infrastructure step. Reproduce the same-ref rerun scenario described in the issue, then verify that active provisioning is not interrupted, cancellation details identify the superseding run, and runbook guidance covers safe reruns.
Written by the indexing model from the issue text.
Description
Problem
Workflow concurrency currently uses branch-level cancel-in-progress: true, which can terminate long-running provision executions and amplify state drift/retry churn.
Type
- tech debt
Evidence
.github/workflows/azd-deploy.ymluses:concurrency.group: azd-deploy-${{ github.ref }}cancel-in-progress: true
- Recent runs:
- https://github.com/Azure-Samples/tutor/actions/runs/23126353038 (cancelled during
Provision infrastructureafter ~90m) - https://github.com/Azure-Samples/tutor/actions/runs/23125888889 (cancelled)
- https://github.com/Azure-Samples/tutor/actions/runs/23126353038 (cancelled during
- Repeated cancellations overlap with ongoing provision and obstruct clean convergence.
Reproduction
- Start a
workflow_dispatchdeploy onmain. - Trigger another deploy/push on same ref before completion.
- Observe prior in-flight run cancellation and interrupted provision.
Acceptance Criteria
- Concurrency is scoped per environment and does not cancel active
provisionin-flight for same env. - New runs queue or fail-fast with explicit message instead of interrupting active infra apply.
- Workflow summary surfaces cancellation reason and superseding run id.
- Document runbook guidance for safe re-run behavior.
Suggested Owner
platform-quality
- Dominant language
- Python
- Stars
- 17
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Azure-Samples/tutor
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
Azure-Samples/tutor#230 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
Azure-Samples/tutor#229 · 1 comment ·
-
frontend priority:P2 type:tech-debt
Difficulty 5/5 Over a week Newbie friendliness 35/100
Azure-Samples/tutor#224 · 3 comments ·
-
component:ci-cd frontend priority:P1 type:tech-debt
Difficulty 5/5 Over a week Newbie friendliness 35/100
Azure-Samples/tutor#223 · 2 comments ·
-
frontend priority:P1 type:feature
Difficulty 5/5 Over a week Newbie friendliness 30/100
Azure-Samples/tutor#222 · 1 comment ·
All issues in Azure-Samples/tutor
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
raullenchai/Rapid-MLX#4042 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
LearningCircuit/local-deep-research#7067 ·
Maintainers usually reply within 1 day
-
#bug
Difficulty 1/5 Under an hour Newbie friendliness 92/100
apache/superset#44923 · 1 comment ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
lawndoc/stack-back#123 ·