Skip to content

refactor(ci): extract shared AWS-credentials retry into a composite action - #25

Merged
blairham merged 1 commit into
mainfrom
chore/aws-credentials-retry-action
Jul 2, 2026
Merged

refactor(ci): extract shared AWS-credentials retry into a composite action#25
blairham merged 1 commit into
mainfrom
chore/aws-credentials-retry-action

Conversation

@blairham

@blairham blairham commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Extract the three-shot configure-aws-credentials retry (try / sleep 30 / retry / sleep 60 / retry) — which survives the first-colocation race with Crossplane minting the per-service xp-<svc>-gha-push role (pinpredict/trading#616) — into a new composite action actions/configure-aws-with-retry.
  • chart-release.yml and docker-release.yml each drop ~35 lines of duplicated (and already comment-drifted) retry steps down to a single uses: step. Net −92/+85 lines, retry logic now in one place.
  • Action inputs: role-to-assume (required), aws-region (default us-east-1). The matrix.role || secrets.AWS_ROLE_ARN fallback and env.AWS_REGION stay caller-side (secrets aren't readable inside a composite action), so the un-migrated-service fallback is unchanged.
  • Referenced as pinpredict/.github/actions/configure-aws-with-retry@main (matching the org convention for the other composites) rather than ./actions/... — these reusable workflows check out the consumer repo, so a local ./ path would resolve against the caller and fail (the trap documented in actionlint.yml).
  • README composite-actions table updated per the editing playbook.

Test plan

  • actionlint (repo-pinned 1.7.7) clean on both edited workflows
  • YAML parses for the action + both workflows
  • pre-commit hooks pass on commit
  • Runtime path exercised via a draft PR in a consumer repo (e.g. service-template) pointing its release uses: at this branch — actionlint can't reach the composite-action resolution at runtime

…ction

The three-shot AssumeRole retry (survives the first-colocation race with
Crossplane minting xp-<svc>-gha-push, trading#616) was duplicated ~35
lines each in chart-release.yml and docker-release.yml, and had already
drifted in comment wording. Factor it into actions/configure-aws-with-retry
so both workflows share one copy and future edits land in one place.

Referenced via pinpredict/.github/actions/...@main (not ./actions), since
these reusable workflows check out the consumer repo — a local ./ path
would resolve against the caller and fail.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@blairham
blairham merged commit 2d77997 into main Jul 2, 2026
2 checks passed
@blairham
blairham deleted the chore/aws-credentials-retry-action branch July 5, 2026 14:36
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