Skip to content

Remove per-PR Azure environments; production-only deployments#750

Merged
Sealjay merged 2 commits into
mainfrom
claude/fix-github-actions-Go8Ri
May 3, 2026
Merged

Remove per-PR Azure environments; production-only deployments#750
Sealjay merged 2 commits into
mainfrom
claude/fix-github-actions-Go8Ri

Conversation

@Sealjay

@Sealjay Sealjay commented May 3, 2026

Copy link
Copy Markdown
Contributor

Summary

This change removes support for per-PR Azure environments and simplifies the deployment pipeline to production-only. The reusable deploy-environment.yml workflow is now exclusively for production deployments, eliminating the complexity of managing temporary cloud resources for every pull request.

Key Changes

  • Removed per-PR environment support: Deleted the is-production input parameter and all conditional logic that branched between production and PR deployments
  • Simplified deployment workflow:
    • Removed the "Select parameter file" step that chose between prod.bicepparam and dev.bicepparam
    • Removed the "Cleanup existing deployment stack" step that only ran for non-production environments
    • Removed the conditional what-if preview (now always runs for production)
    • Hardcoded stack management settings to production values (detach for unmanaged resources, denyDelete for deny-settings-mode)
  • Removed PR-specific container app naming: Deleted logic that appended a resource token suffix to container app names for PR environments
  • Simplified frontend build: Removed the OpenAPI client generation step that waited for the backend to be ready and dynamically generated the TypeScript client. Frontend now uses the pre-committed OpenAPI client from frontend/src/api-client/ (generated via the commit-and-verify pipeline)
  • Updated documentation:
    • Added amendment to ADR-0007 explaining the retirement of per-PR environments
    • Updated ADR-0009 with similar context
    • Updated docs/architecture.md to clarify that only pushes to main deploy to Azure; PRs are validated via test workflows alone
  • Updated deploy-production.yml: Removed the is-production: true input when calling the reusable workflow

Implementation Details

  • PR validation now relies entirely on unit, integration, and E2E test workflows rather than temporary Azure deployments
  • The frontend build now uses a frozen lockfile (--frozen-lockfile) and pre-generated OpenAPI client, making builds faster and more deterministic
  • All environment-specific branching logic has been removed, reducing cognitive load and potential for configuration errors
  • Documentation amendments preserve historical context while clearly marking the change date (2026-05-03)

https://claude.ai/code/session_01GfjckC2AeVywxvEAA4jc4t

claude added 2 commits May 3, 2026 14:58
The Azure Container Apps deploy workflow still tried to regenerate the
frontend SDK with @openapitools/openapi-generator-cli (typescript-axios)
into src/api-client/ at build time. That tool needs a JVM that isn't on
the runner, and even when it ran it would clobber the committed
openapi-fetch client added in #747.

Since #747 the api-client (schema.d.ts + client.ts) is committed via
the commit-and-verify pipeline, so the build just needs `bun install`
plus `bun run build`. Drop the regen and the now-redundant
wait-for-backend loop, and use --frozen-lockfile for determinism.
Per-PR environments are no longer wanted — only main deploys. The
referenced pr-environments.yml/cleanup-environment.yml workflows don't
actually exist in the repo anymore, and deploy-environment.yml's PR-only
branches were dead code that could only be triggered by hand.

- deploy-environment.yml: drop the is-production input, the PR stack
  cleanup step, the conditional what-if, the conditional unmanage/deny
  flags (now always detach + denyDelete), and the pr-* container-app
  resource-token suffix.
- deploy-production.yml: stop passing the now-removed is-production input.
- docs/architecture.md: replace the pr-environments.yml description with
  a note that PR Azure environments are intentionally not provisioned.
- ADR-0007 + ADR-0009: amend Status with the 2026-05-03 reversal,
  preserving the historical body for context.
@Sealjay Sealjay merged commit 716772a into main May 3, 2026
2 checks passed
@Sealjay Sealjay deleted the claude/fix-github-actions-Go8Ri branch May 3, 2026 15:30
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.

2 participants