Tech debt: make partition layer deployment safe to resume

オープン
#8,433 コメント 0 件 リアクション 0 件 担当者 1 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@dreamorosi がすでに取り組んでいます。

2026年9月4日 から。

  • #8440 @dreamorosi による — オープン

評価

この issue はまだ評価されていません。

説明

tech-debt
Why is this needed?

.github/workflows/layers_partitions.yml performs twelve concurrent, irreversible Lambda layer publications without verifying each target layer is at the expected preceding version. It checks the returned version only after publishing, when an incorrect version number can no longer be reused.

The copy matrix also uses the default fail-fast behavior. A failure can cancel sibling jobs after publication but before permission or verification, leaving runtimes and architectures at different versions. The workflow is not idempotent: rerunning a partially successful deployment republishes completed layers at the next version, while rerunning all jobs can conflict with immutable workflow artifacts.

Additional gaps make recovery and operation harder:

  • version is not validated and is interpolated directly into shell commands;
  • AWS retry behavior is not configured for long cross-partition uploads;
  • publication and public-permission creation are coupled in one non-atomic step;
  • the reusable trigger omits the required partition input;
  • source downloads do not fail or retry cleanly on HTTP errors;
  • failed verification does not preserve target metadata artifacts.

These risks can permanently break layer version parity in China or GovCloud. Until addressed, maintainers must use Layer Balancer (Partitions) separately for each runtime because it provides target-position preflight, resumability, SHA checks, visibility mirroring, retries, and non-fail-fast execution.

Which area does this relate to?

Automation

Suggestion

Bring the regular partition deployment workflow up to the balancer safety model:

  • validate and normalize all dispatch/call inputs;
  • require the target latest version to equal version - 1 before publishing;
  • disable matrix fail-fast and consider serial target publication;
  • skip existing versions only when their SHA and visibility match the commercial source;
  • make artifact uploads and permission creation idempotent;
  • configure standard AWS retries;
  • preserve partial-run metadata for recovery;
  • complete or remove the broken workflow_call interface.
Acknowledgment

Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

主要言語
Python
スター
3.3k
フォーク
511
平均マージ
3日 8時間
マージ済み PR(30日)
92

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

aws-powertools/powertools-lambda-python のほかの issue

aws-powertools/powertools-lambda-python の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。