repro-lambda 0.4.0__tar.gz → 0.4.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/CHANGELOG.md +5 -0
  2. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/PKG-INFO +1 -1
  3. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/pyproject.toml +1 -1
  4. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/src/repro_lambda/__init__.py +1 -1
  5. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/src/repro_lambda/docker_runner.py +8 -2
  6. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/test_docker_runner.py +2 -2
  7. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/uv.lock +1 -1
  8. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/.github/workflows/build.yml +0 -0
  9. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/.github/workflows/ci.yml +0 -0
  10. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/.github/workflows/promote.yml +0 -0
  11. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/.github/workflows/publish.yml +0 -0
  12. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/.gitignore +0 -0
  13. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/.pre-commit-config.yaml +0 -0
  14. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/LICENSE +0 -0
  15. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/README.md +0 -0
  16. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/SETUP.md +0 -0
  17. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/src/repro_lambda/__main__.py +0 -0
  18. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/src/repro_lambda/build.py +0 -0
  19. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/src/repro_lambda/catalog.py +0 -0
  20. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/src/repro_lambda/cli.py +0 -0
  21. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/src/repro_lambda/git_guard.py +0 -0
  22. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/src/repro_lambda/hasher.py +0 -0
  23. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/src/repro_lambda/manifest.py +0 -0
  24. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/src/repro_lambda/promote.py +0 -0
  25. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/src/repro_lambda/s3_uploader.py +0 -0
  26. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/src/repro_lambda/source_stager.py +0 -0
  27. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/src/repro_lambda/verify.py +0 -0
  28. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/src/repro_lambda/zip_packager.py +0 -0
  29. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/__init__.py +0 -0
  30. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/conftest.py +0 -0
  31. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/fixtures/sample_nodejs_lambda/handler/index.js +0 -0
  32. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/fixtures/sample_nodejs_lambda/handler/package-lock.json +0 -0
  33. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/fixtures/sample_nodejs_lambda/handler/package.json +0 -0
  34. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/fixtures/sample_nodejs_lambda/lambdas.toml +0 -0
  35. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/fixtures/sample_python_lambda/handler/app.py +0 -0
  36. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/fixtures/sample_python_lambda/handler/requirements.arm64.lock +0 -0
  37. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/fixtures/sample_python_lambda/handler/requirements.in +0 -0
  38. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/fixtures/sample_python_lambda/lambdas.toml +0 -0
  39. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/test_build_integration.py +0 -0
  40. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/test_build_nodejs.py +0 -0
  41. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/test_catalog.py +0 -0
  42. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/test_cli_build.py +0 -0
  43. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/test_cli_lock.py +0 -0
  44. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/test_cli_smoke.py +0 -0
  45. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/test_docker_runner_nodejs.py +0 -0
  46. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/test_e2e_nodejs_lambda.py +0 -0
  47. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/test_e2e_python_lambda.py +0 -0
  48. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/test_extra_files.py +0 -0
  49. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/test_git_guard.py +0 -0
  50. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/test_hasher.py +0 -0
  51. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/test_manifest.py +0 -0
  52. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/test_promote.py +0 -0
  53. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/test_python_byte_compat_regression.py +0 -0
  54. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/test_s3_uploader.py +0 -0
  55. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/test_source_stager.py +0 -0
  56. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/test_verify.py +0 -0
  57. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/test_zip_excludes.py +0 -0
  58. {repro_lambda-0.4.0 → repro_lambda-0.4.1}/tests/test_zip_packager.py +0 -0
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.4.1 - 2026-06-21
4
+
5
+ ### Fixed
6
+ - Lower the pip `--platform` floor from `manylinux_2_28` to `manylinux_2_17` (manylinux2014) for both arches. pip's explicit `--platform` does not expand a higher manylinux tag down to lower-baseline wheels, so with `--only-binary=:all:` a `2_28` floor failed to find compiled wheels that ship only `manylinux_2_17` for a given Python/arch (e.g. `pydantic-core`). `manylinux_2_17` is the broadest baseline the AWS Lambda base images (Amazon Linux 2023, glibc 2.34) still run, and it matches `2_17` wheels plus any lower baseline. Pure-Python lambdas are unaffected (their `py3-none-any` wheels never depended on the platform). The builder version bump re-keys all content hashes, as expected.
7
+
3
8
  ## v0.4.0 - 2026-06-21
4
9
 
5
10
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: repro-lambda
3
- Version: 0.4.0
3
+ Version: 0.4.1
4
4
  Summary: Build reproducible AWS Lambda packages outside Terraform, optimized for terraform-aws-lambda by serverless.tf.
5
5
  Project-URL: Homepage, https://github.com/antonbabenko/repro-lambda
6
6
  Project-URL: Repository, https://github.com/antonbabenko/repro-lambda
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "repro-lambda"
3
- version = "0.4.0"
3
+ version = "0.4.1"
4
4
  description = "Build reproducible AWS Lambda packages outside Terraform, optimized for terraform-aws-lambda by serverless.tf."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -1,3 +1,3 @@
1
1
  """repro-lambda — reproducible AWS Lambda packaging outside Terraform."""
2
2
 
3
- __version__ = "0.4.0"
3
+ __version__ = "0.4.1"
@@ -12,9 +12,15 @@ ARCH_TO_DOCKER_PLATFORM: dict[str, str] = {
12
12
  "x86_64": "linux/amd64",
13
13
  }
14
14
 
15
+ # manylinux_2_17 (== manylinux2014) is the broadest baseline the AWS Lambda base
16
+ # images (Amazon Linux 2023, glibc 2.34) still run, and pip's explicit --platform does
17
+ # NOT expand a higher tag (e.g. 2_28) down to lower-baseline wheels. Many compiled
18
+ # wheels (e.g. pydantic-core) ship only manylinux_2_17 for a given Python/arch, so a
19
+ # 2_28 floor misses them with --only-binary=:all:. 2_17 matches 2_17 wheels and, via
20
+ # pip's tag expansion, any lower baseline too.
15
21
  ARCH_TO_PIP_PLATFORM: dict[str, str] = {
16
- "arm64": "manylinux_2_28_aarch64",
17
- "x86_64": "manylinux_2_28_x86_64",
22
+ "arm64": "manylinux_2_17_aarch64",
23
+ "x86_64": "manylinux_2_17_x86_64",
18
24
  }
19
25
 
20
26
  ARCH_TO_NPM_CPU: dict[str, str] = {
@@ -20,8 +20,8 @@ def test_arch_mapping_tables_are_complete():
20
20
  def test_arch_mapping_values():
21
21
  assert ARCH_TO_DOCKER_PLATFORM["arm64"] == "linux/arm64"
22
22
  assert ARCH_TO_DOCKER_PLATFORM["x86_64"] == "linux/amd64"
23
- assert ARCH_TO_PIP_PLATFORM["arm64"] == "manylinux_2_28_aarch64"
24
- assert ARCH_TO_PIP_PLATFORM["x86_64"] == "manylinux_2_28_x86_64"
23
+ assert ARCH_TO_PIP_PLATFORM["arm64"] == "manylinux_2_17_aarch64"
24
+ assert ARCH_TO_PIP_PLATFORM["x86_64"] == "manylinux_2_17_x86_64"
25
25
 
26
26
 
27
27
  def test_build_python_lambda_raises_on_unknown_arch(tmp_path: Path):
@@ -646,7 +646,7 @@ wheels = [
646
646
 
647
647
  [[package]]
648
648
  name = "repro-lambda"
649
- version = "0.4.0"
649
+ version = "0.4.1"
650
650
  source = { editable = "." }
651
651
  dependencies = [
652
652
  { name = "boto3" },
File without changes
File without changes
File without changes
File without changes