chore: change AMI builds to manual-trigger only#1189
Conversation
WalkthroughReworks the AMI build GitHub Actions workflow: replaces Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Dev as Developer
participant GH as GitHub Actions
participant GHCLI as gh (GitHub CLI)
participant AWS as AWS (AMI Build)
Dev->>GH: workflow_dispatch(reason?)
GH->>GHCLI: fetch latest release (get version or "manual")
GHCLI-->>GH: version
Note right of GH: Build metadata constructed
GH->>AWS: Assume role via OIDC & start AMI build
AWS-->>GH: AMI ID, Region
GH->>AWS: Tag AMI with {version, stage, build_date, build_reason?}
Note over GH,AWS: Dynamic tagging applied
GH->>GHCLI: Update latest release body with AMI summary + Launch URL
GH-->>Dev: Log: AMI available and ready for deployment
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Time Submission Status
|
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/ami-build.yml(7 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: acceptance-test
- GitHub Check: lint
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/ami-build.yml(7 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: acceptance-test
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/ami-build.yml(7 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: acceptance-test
chore: change AMI builds to manual-trigger only
Switch AMI build workflow from automatic (on every release) to manual dispatch
only, preventing unnecessary AMI rebuilds for routine software updates.
Rationale:
The AMI uses Docker :latest tag, so users automatically receive node software
updates without needing new AMI deployments. Rebuilding the AMI on every
release was wasteful (30 min/release) and would create confusing AWS
Marketplace versions.
Changes:
Build Reason Parameter:
The optional 'reason' input allows operators to document why an AMI was
rebuilt (e.g., "Q1 2025 Marketplace submission", "infrastructure update").
This reason is:
When to Rebuild AMI:
✅ Infrastructure changes (scripts, services, docker-compose)
✅ Base OS security updates
✅ AWS Marketplace submissions (quarterly)
✅ Docker/tooling version updates
When NOT to Rebuild:
❌ Node software updates (handled by Docker :latest)
❌ Bug fixes (handled by Docker image workflow)
❌ Regular releases (handled by Docker image workflow)
Impact:
resolves: https://github.com/trufnetwork/truf-network/issues/1246
Summary by CodeRabbit
New Features
Improvements
Chores