Skip to content

🔄 refactor(actions): migrate from Elastic Beanstalk to ECS deployment#4

Merged
Rhodri-Morgan merged 2 commits into
masterfrom
chore/ecs-deployment-migration
Mar 26, 2026
Merged

🔄 refactor(actions): migrate from Elastic Beanstalk to ECS deployment#4
Rhodri-Morgan merged 2 commits into
masterfrom
chore/ecs-deployment-migration

Conversation

@Rhodri-Morgan
Copy link
Copy Markdown
Owner

Summary

Migrate deployment system from Elastic Beanstalk to ECS. Removes the EB deployment action and adds a new deploy-ecs action that uses AWS ECS task definitions with automatic rollback on failure. Standardizes all action file extensions from .yml to .yaml. Adds comprehensive AGENTS.md and CLAUDE.md documentation.

Changes

  • Removed: deploy_elastic_beanstalk/action.yml — Replaced with ECS-based deployment
  • Added: deploy-ecs/action.yaml — New action for ECS service deployments with task definition management and automatic rollback
  • Updated: README.md — Removed EB deployment documentation and examples, added ECS deployment section with simplified example workflow
  • Renamed: build/action.ymlbuild/action.yaml, push/action.ymlpush/action.yaml — Standardized to .yaml extension
  • Added: AGENTS.md — Comprehensive documentation covering:
    • Architecture patterns (SSM parameter tracking, task definition cloning, rollback, OIDC)
    • AWS OIDC authentication details and GitHub secrets
    • Scripts directory purpose (shared scripts fetched at runtime)
    • Development guidelines for actions
  • Added: CLAUDE.md — Entry point that references AGENTS.md

Key Features of deploy-ecs

  • Automatically strips 'v' prefix from image tags (e.g., v2026.03.26 → 2026.03.26)
  • Reads current task definition, updates image tag, registers new revision
  • Polls for deployment completion with configurable timeout
  • Automatically rolls back to previous task definition on failure
  • Updates SSM parameter only after successful deployment
  • Infrastructure changes (env vars, resources) managed via Terraform, not action

Testing

  • Verified all changes via git diff against origin/master
  • Action files formatted correctly with composite action structure
  • Documentation links verified (CLAUDE.md → AGENTS.md)
  • README.md examples updated with ECS-specific configuration

Checklist

  • Code follows style guidelines
  • Actions use composite action structure with bash steps
  • Documentation complete and accurate
  • AWS infrastructure management correctly delegated to Terraform
  • Old Elastic Beanstalk references completely removed

Rhodri-Morgan and others added 2 commits March 26, 2026 22:56
Removed deploy_elastic_beanstalk action and replaced with deploy-ecs action that uses
AWS ECS task definitions with automatic rollback on failure. Standardized all action
file extensions from .yml to .yaml for consistency.

Added comprehensive AGENTS.md and CLAUDE.md documentation covering architecture patterns,
OIDC authentication, GitHub secrets, and development guidelines. Updated README.md with
ECS deployment examples and removed Elastic Beanstalk references.

Co-Authored-By: Claude <noreply@anthropic.com>
Add a reusable tag-triggered workflow example for building, testing, and pushing an image to ECR.

This mirrors the consumer setup used in polymarket-discord-bot while replacing app-specific values with generic placeholders.

Co-authored-by: Codex <codex@openai.com>
@Rhodri-Morgan Rhodri-Morgan marked this pull request as ready for review March 26, 2026 23:03
@Rhodri-Morgan Rhodri-Morgan merged commit 8fad2f2 into master Mar 26, 2026
@Rhodri-Morgan Rhodri-Morgan deleted the chore/ecs-deployment-migration branch March 26, 2026 23:03
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