feat(ci): fold GovCloud/China layer publishing into Make Release#5462
feat(ci): fold GovCloud/China layer publishing into Make Release#5462svozza wants to merge 3 commits into
Conversation
GovCloud and China layer publishing required a separate manual workflow_dispatch of `Layer Deployment (Partitions)` after every release, gated on guessing the latest layer version via `list-layer-versions`. Fold both partitions into `publish_layer.yml` so they deploy automatically, using the exact version `deploy-prod` just published, right after the commercial Prod deployment finishes.
|
dreamorosi
left a comment
There was a problem hiding this comment.
Diff looks good as far as I can tell by reading it, but I guess we'll know once we make the next release.
Do we have an idea of the failure modes? I think knowing them would help us understand if we need to setup a sample environment to run these or if it's fine to test during the release because it's recoverable.
|
The most likely failure mode is that the newly added workflow fails to execute because of some wriing or permission issue. In that case we'd have to fall back to running the old workflows. Another thing that could happen is that the push to beta works but for some reason the verification fails so the push to prod doesn't happen. Again, we would have to fall back to the old workflows (although only run it for the prod environment). |



Summary
Today, GovCloud/China layer publishing requires a separate manual
workflow_dispatchofLayer Deployment (Partitions)after every release, and the ARN-doc PR is opened right after the commercial Prod deploy — before GovCloud/China even run — so it has to guess those regions' version numbers ahead of time. This folds both partitions directly intopublish_layer.ymlso they deploy automatically right after commercial Prod finishes, using the exact versiondeploy-prodjust published (no more guessing vialist-layer-versions), and only opens the ARN-doc PR once all three (commercial, GovCloud, China) Prod deployments are complete.This was designed and rehearsed end-to-end on an internal fork before porting it here, including two full dispatches of
make-release.ymlthat confirmed the job graph runs automatically (commercial beta → commercial prod → GovCloud/China gamma+prod in parallel → single consolidated ARN-update PR). The actual AWS CLI and npm-publish calls were mocked/stubbed for the rehearsal — only the job wiring,needs:graph, and control flow were verified live; the AWS-facing steps themselves are unchanged from their existing implementations.Changes
publish_layer.yml: addeddownload-layer(pulls the layer versiondeploy-prodjust deployed) plusdeploy-govcloud-gamma/deploy-govcloud-prodanddeploy-china-gamma/deploy-china-prodjobs, both partitions deploying in parallel after commercial Prod;update_layer_arn_docsnow waits on all three partitions' Prod deployments before opening its PRmake-release.yml: updated release-process comments to reflect the new step and dependencylayers_partitions.yml: updated comments to note it's now a standalone manual recovery tool rather than part of the automated release path (kept as-is otherwise, per the issue)docs/maintainers.md: updated the release checklist and release-process Gantt chart to remove the now-obsolete manual GovCloud/China trigger steps and reflect the new parallel deployment stepIssue number: closes #5451
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.