Skip to content

fix(ci): retry prod bootstrap when SWA update is in progress#8

Merged
filippohronsky merged 1 commit into
mainfrom
hotfix/prod-swa-retry-on-conflict
Apr 13, 2026
Merged

fix(ci): retry prod bootstrap when SWA update is in progress#8
filippohronsky merged 1 commit into
mainfrom
hotfix/prod-swa-retry-on-conflict

Conversation

@filippohronsky

Copy link
Copy Markdown
Member

Summary

This PR hardens the production bootstrap workflow against a transient Azure Static Web Apps conflict. When Azure is still finishing a create or update operation for the production SWA, the workflow now waits and retries the infrastructure bootstrap instead of failing immediately.

The change mirrors the retry protection already added to the test bootstrap flow and keeps the fix intentionally narrow to the known SWA in-progress conflict.

Type of Change

  • Website or UX
  • SEO or content structure
  • Azure infrastructure
  • CI/CD or automation
  • Documentation
  • Bug fix

Why This Change

Deploy Production failed during phase 1 even though OIDC, subscription access, and the production parameters were valid. The actual Azure error was a transient conflict:

  • Cannot update Static Web App: A create or update operation is currently in progress for the static web app ...

This indicates timing overlap on the existing production SWA resource, not a permanent infra definition problem. The correct fix is to retry the bootstrap after a short wait instead of treating the first conflict as fatal.

Validation

  • Local build completed
  • Workflow and release impact reviewed if automation changed
  • Responsive behavior checked if UI changed
  • Routing or redirects checked if applicable
  • Docs updated if architecture or workflow changed

Validation notes:

  • npm run validate:workflows
  • reviewed the failing Deploy Production run log
  • reviewed Azure deployment operation details for zenova-web-prod-24325450826
  • confirmed the failure was a transient SWA Conflict on swa-zenova-web-prod

Public Repo Safety Check

  • No secrets added
  • No internal-only business notes added
  • No customer-confidential information added

Deployment Impact

This affects:

  • production deployment

    • deploy-prod.yml now retries transient SWA in-progress conflicts during phase 1 bootstrap
  • Azure infrastructure

    • no Bicep or resource model change
    • only the workflow behavior around handling temporary Azure write conflicts
  • GitHub workflow or release path

    • production bootstrap becomes more resilient to Azure timing conflicts
    • non-transient failures still stop the run immediately
  • SEO behavior

    • no impact
  • redirect rules

    • no impact

Follow-up

  • merge this PR
  • rerun Deploy Production
  • confirm that phase 1 bootstrap now survives transient SWA update conflicts
  • if phase 1 succeeds, continue with production phase 2 and domain onboarding

@filippohronsky filippohronsky merged commit fae2e29 into main Apr 13, 2026
3 checks passed
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