[193] Deploy the dev environment from development via CI - #210
Merged
Conversation
Replace the release/workflow_dispatch triggers with push to development (keeping manual dispatch), tag every build with the commit short SHA, and write a run summary with the deployed image URI and the ADMIN_URL repo variable. Correct the infrastructure README's stale update-service claim to the Express Mode update-express-gateway-service call.
Guard the summary step with !cancelled() plus a non-empty IMAGE_URI so a failed or timed-out rollout still records the image already pushed to ECR, and report the job status on a Rollout line so such runs don't read as completed deploys. Document the optional ADMIN_URL variable in the infrastructure README's workflow-configuration list.
… build tsconfig targets ES2020, where String.replaceAll does not exist; the error only surfaces in the Docker production build. Use split/join instead. Swept src/ for other ES2021+ methods (replaceAll, .at(), Object.hasOwn, structuredClone) — none found. tsc --noEmit passes clean.
…m the CLI) Current AWS CLIs reject --cluster on update-express-gateway-service — the synopsis is service-ARN only, the ARN fully qualifying the target. The June-era CLI accepted it. The describe-services name-to-ARN resolution keeps its --cluster (that API needs it), so ECS_CLUSTER stays in the step's env.
The current describe-express-gateway-service response has no deployments[].rolloutState — the old poll printed None for 80 attempts and timed out. Poll convergence instead: statusCode ACTIVE and every activeConfigurations[] primary-container image equal to the target (old and new revisions are both listed until the old one drains). statusCode has no failure value (ACTIVE | DRAINING | INACTIVE per the CLI help), so the FAILED branch is gone and the 20-minute timeout is the failure bound. Each attempt logs status plus the active images.
A failed describe-express-gateway-service call under the step's -e / pipefail killed the whole rollout step; now it costs one attempt and retries. The 20-minute timeout message reports the images still being served so an Express Mode auto-rollback (settles ACTIVE on the old image) is diagnosable from the log.
8 tasks
✅ Version Already UpdatedThis PR includes a manual version update to No automatic version bump needed. |
Follow-up to #157's rename: the profile is full-demo, the regeneration command in the how-to was stale, and 'dev deployments boot from it' now says local dev deployments — the deployed dev environment (this PR's subject) keeps its own persistent database and does not reseed.
The review-round trim (32851fb) excluded 13 classic-era tools and removed their defaults blocks; the ADR still said only Draw was excluded and that it declared defaults.
🤖 Version Auto-BumpedThe version has been automatically incremented to This commit was added to your PR branch. When you merge this PR, the new version will be included. If you want a different version, update |
8 tasks
The summary now carries only what CI itself produces (image URI, rollout status). The admin URL is read from `terraform output admin_url` or the CloudFront console; a hand-maintained repo variable inevitably goes stale at environment rebuild and a wrong URL in an official-looking summary is worse than none.
CarsonDavis
marked this pull request as ready for review
July 22, 2026 18:37
slesaad
approved these changes
Jul 23, 2026
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #193
Turns on the CI deploy pipeline for the dev environment. The AWS side (IAM permission, Actions variables/secret) is already configured; this PR carries the workflow changes, proven by two consecutive fully-green dispatched runs from this branch (run 1, run 2) — the dev environment currently serves the image built from this branch's head.
Changes (
.github/workflows/deploy-lean.yml+ one README fix):development(manual dispatch kept; dead release trigger removed)mmgis:<commit short SHA>— never a branch/release name (immutable, identifies its commit, no mutable-tag no-op rollouts)status.statusCode+activeConfigurationsconvergence; the olddeployments[].rolloutStateno longer exists), with transient-error retryupdate-express-gateway-servicecall fixed for current CLIs (no--cluster— the service ARN fully qualifies)update-serviceclaimFirst merge to
developmentwill be the first push-triggered run — the one remaining untested trigger path.