repro-lambda 0.7.1__tar.gz → 0.7.2__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.
- repro_lambda-0.7.2/.release-please-manifest.json +3 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/CHANGELOG.md +7 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/PKG-INFO +1 -1
- repro_lambda-0.7.2/assets/social-preview.html +137 -0
- repro_lambda-0.7.2/assets/social-preview.png +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/pyproject.toml +1 -1
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/src/repro_lambda/__init__.py +1 -1
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/uv.lock +1 -1
- repro_lambda-0.7.1/.release-please-manifest.json +0 -3
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/.github/workflows/build.yml +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/.github/workflows/ci.yml +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/.github/workflows/move-major-tag.yml +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/.github/workflows/promote.yml +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/.github/workflows/publish.yml +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/.github/workflows/release.yml +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/.gitignore +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/.pre-commit-config.yaml +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/LICENSE +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/README.md +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/SETUP.md +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/USAGE.md +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/examples/complete/README.md +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/examples/complete/builds/catalog.json +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/examples/complete/lambdas.toml +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/examples/complete/main.tf +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/examples/complete/outputs.tf +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/examples/complete/src/app/app.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/examples/complete/src/app/requirements.arm64.lock +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/examples/complete/variables.tf +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/examples/complete/versions.tf +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/release-please-config.json +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/src/repro_lambda/__main__.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/src/repro_lambda/build.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/src/repro_lambda/catalog.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/src/repro_lambda/cli.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/src/repro_lambda/docker_runner.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/src/repro_lambda/git_guard.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/src/repro_lambda/hasher.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/src/repro_lambda/manifest.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/src/repro_lambda/promote.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/src/repro_lambda/s3_uploader.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/src/repro_lambda/source_locker.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/src/repro_lambda/source_stager.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/src/repro_lambda/sources.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/src/repro_lambda/verify.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/src/repro_lambda/zip_packager.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/__init__.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/conftest.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/fixtures/sample_nodejs_lambda/handler/index.js +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/fixtures/sample_nodejs_lambda/handler/package-lock.json +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/fixtures/sample_nodejs_lambda/handler/package.json +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/fixtures/sample_nodejs_lambda/lambdas.toml +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/fixtures/sample_python_lambda/handler/app.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/fixtures/sample_python_lambda/handler/requirements.arm64.lock +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/fixtures/sample_python_lambda/handler/requirements.in +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/fixtures/sample_python_lambda/lambdas.toml +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/test_build_integration.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/test_build_nodejs.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/test_catalog.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/test_cli_build.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/test_cli_lock.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/test_cli_smoke.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/test_docker_runner.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/test_docker_runner_nodejs.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/test_e2e_nodejs_lambda.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/test_e2e_python_lambda.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/test_extra_files.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/test_git_guard.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/test_hasher.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/test_manifest.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/test_per_lambda_builder.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/test_promote.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/test_python_byte_compat_regression.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/test_s3_uploader.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/test_source_locker.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/test_source_stager.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/test_sources.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/test_sources_hash.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/test_sources_schema.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/test_verify.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/test_zip_excludes.py +0 -0
- {repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/test_zip_packager.py +0 -0
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.7.2](https://github.com/antonbabenko/repro-lambda/compare/v0.7.1...v0.7.2) (2026-06-23)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Documentation
|
|
7
|
+
|
|
8
|
+
* add social preview image ([b6e0707](https://github.com/antonbabenko/repro-lambda/commit/b6e07070320d1a08989057ebed2c632b4c65a2f1))
|
|
9
|
+
|
|
3
10
|
## [0.7.1](https://github.com/antonbabenko/repro-lambda/compare/v0.7.0...v0.7.1) (2026-06-23)
|
|
4
11
|
|
|
5
12
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: repro-lambda
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.2
|
|
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
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<!-- Regenerate PNG (run from repo root):
|
|
3
|
+
npx -y playwright screenshot --viewport-size=1280,640 \
|
|
4
|
+
"file://$(pwd)/assets/social-preview.html" assets/social-preview.png -->
|
|
5
|
+
<html lang="en">
|
|
6
|
+
<head>
|
|
7
|
+
<meta charset="UTF-8">
|
|
8
|
+
<title>Social preview</title>
|
|
9
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
|
+
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap" rel="stylesheet">
|
|
12
|
+
<style>
|
|
13
|
+
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
|
|
14
|
+
html, body { width: 1280px; height: 640px; }
|
|
15
|
+
body {
|
|
16
|
+
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
17
|
+
background: #faf9ff;
|
|
18
|
+
color: #0f172a;
|
|
19
|
+
-webkit-font-smoothing: antialiased;
|
|
20
|
+
-moz-osx-font-smoothing: grayscale;
|
|
21
|
+
}
|
|
22
|
+
.card {
|
|
23
|
+
width: 1280px;
|
|
24
|
+
height: 640px;
|
|
25
|
+
position: relative;
|
|
26
|
+
border: 1px solid #e9e5f5;
|
|
27
|
+
display: flex;
|
|
28
|
+
flex-direction: column;
|
|
29
|
+
align-items: center;
|
|
30
|
+
justify-content: center;
|
|
31
|
+
padding: 60px 70px;
|
|
32
|
+
}
|
|
33
|
+
.top-block { margin-bottom: 48px; }
|
|
34
|
+
.accent {
|
|
35
|
+
position: absolute;
|
|
36
|
+
top: 0;
|
|
37
|
+
left: 0;
|
|
38
|
+
right: 0;
|
|
39
|
+
height: 9px;
|
|
40
|
+
background: #7B42BC;
|
|
41
|
+
}
|
|
42
|
+
.top-block {
|
|
43
|
+
display: flex;
|
|
44
|
+
flex-direction: column;
|
|
45
|
+
align-items: center;
|
|
46
|
+
width: 100%;
|
|
47
|
+
}
|
|
48
|
+
.owner {
|
|
49
|
+
font-size: 24px;
|
|
50
|
+
font-weight: 500;
|
|
51
|
+
color: #9ca3af;
|
|
52
|
+
margin-bottom: 36px;
|
|
53
|
+
letter-spacing: 0.01em;
|
|
54
|
+
}
|
|
55
|
+
.owner-repo {
|
|
56
|
+
color: #7c3aed;
|
|
57
|
+
font-weight: 600;
|
|
58
|
+
}
|
|
59
|
+
.title {
|
|
60
|
+
font-size: 84px;
|
|
61
|
+
font-weight: 800;
|
|
62
|
+
color: #0f172a;
|
|
63
|
+
line-height: 1.02;
|
|
64
|
+
letter-spacing: -0.025em;
|
|
65
|
+
margin-bottom: 36px;
|
|
66
|
+
text-align: center;
|
|
67
|
+
}
|
|
68
|
+
.subtitle {
|
|
69
|
+
font-size: 26px;
|
|
70
|
+
font-weight: 400;
|
|
71
|
+
color: #4b5563;
|
|
72
|
+
line-height: 1.45;
|
|
73
|
+
max-width: 1080px;
|
|
74
|
+
text-align: center;
|
|
75
|
+
margin-bottom: 24px;
|
|
76
|
+
}
|
|
77
|
+
.mono {
|
|
78
|
+
font-family: 'SFMono-Regular', ui-monospace, 'Menlo', 'Consolas', monospace;
|
|
79
|
+
font-size: 23px;
|
|
80
|
+
color: #6d28d9;
|
|
81
|
+
}
|
|
82
|
+
.meta {
|
|
83
|
+
font-size: 21px;
|
|
84
|
+
font-weight: 500;
|
|
85
|
+
color: #6b7280;
|
|
86
|
+
line-height: 1.4;
|
|
87
|
+
max-width: 1080px;
|
|
88
|
+
text-align: center;
|
|
89
|
+
letter-spacing: 0;
|
|
90
|
+
}
|
|
91
|
+
.meta-sep {
|
|
92
|
+
color: #cbd5e1;
|
|
93
|
+
margin: 0 10px;
|
|
94
|
+
font-weight: 400;
|
|
95
|
+
}
|
|
96
|
+
.tags {
|
|
97
|
+
display: flex;
|
|
98
|
+
gap: 18px;
|
|
99
|
+
justify-content: center;
|
|
100
|
+
flex-wrap: nowrap;
|
|
101
|
+
}
|
|
102
|
+
.tag {
|
|
103
|
+
padding: 11px 24px;
|
|
104
|
+
border-radius: 9999px;
|
|
105
|
+
font-size: 20px;
|
|
106
|
+
font-weight: 600;
|
|
107
|
+
letter-spacing: -0.005em;
|
|
108
|
+
white-space: nowrap;
|
|
109
|
+
}
|
|
110
|
+
.tag-terraform { background: #ede9fe; color: #6d28d9; }
|
|
111
|
+
.tag-aws { background: #e0e7ff; color: #4338ca; }
|
|
112
|
+
.tag-lambda { background: #dbeafe; color: #1d4ed8; }
|
|
113
|
+
.tag-repro { background: #ccfbf1; color: #0f766e; }
|
|
114
|
+
.tag-serverless { background: #dcfce7; color: #15803d; }
|
|
115
|
+
.tag-s3 { background: #fae8ff; color: #a21caf; }
|
|
116
|
+
</style>
|
|
117
|
+
</head>
|
|
118
|
+
<body>
|
|
119
|
+
<div class="card">
|
|
120
|
+
<div class="accent"></div>
|
|
121
|
+
<div class="top-block">
|
|
122
|
+
<div class="owner">antonbabenko <span class="owner-repo">/ repro-lambda</span></div>
|
|
123
|
+
<h1 class="title">repro-lambda</h1>
|
|
124
|
+
<p class="subtitle">Build AWS Lambda packages outside Terraform that come out byte-for-byte identical on macOS and in CI. Upload to S3 by content hash, then let Terraform read <span class="mono">s3_existing_package</span> instead of rebuilding on every plan.</p>
|
|
125
|
+
<p class="meta"><span>Byte-identical zips</span><span class="meta-sep">·</span><span>Content-hash S3 keys</span><span class="meta-sep">·</span><span>macOS + Linux</span><span class="meta-sep">·</span><span>Terraform-native</span><span class="meta-sep">·</span><span>Python & Node runtimes</span></p>
|
|
126
|
+
</div>
|
|
127
|
+
<div class="tags">
|
|
128
|
+
<span class="tag tag-terraform">terraform</span>
|
|
129
|
+
<span class="tag tag-aws">aws</span>
|
|
130
|
+
<span class="tag tag-lambda">lambda</span>
|
|
131
|
+
<span class="tag tag-repro">reproducible-builds</span>
|
|
132
|
+
<span class="tag tag-serverless">serverless</span>
|
|
133
|
+
<span class="tag tag-s3">s3</span>
|
|
134
|
+
</div>
|
|
135
|
+
</div>
|
|
136
|
+
</body>
|
|
137
|
+
</html>
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/fixtures/sample_nodejs_lambda/handler/index.js
RENAMED
|
File without changes
|
|
File without changes
|
{repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/fixtures/sample_nodejs_lambda/handler/package.json
RENAMED
|
File without changes
|
|
File without changes
|
{repro_lambda-0.7.1 → repro_lambda-0.7.2}/tests/fixtures/sample_python_lambda/handler/app.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|