Skip to content

Commit 2cef6c8

Browse files
Merge branch 'develop'
2 parents c17b01a + c5ccdb6 commit 2cef6c8

File tree

11 files changed

+128
-74
lines changed

11 files changed

+128
-74
lines changed

.github/labeler.yml

Lines changed: 28 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,41 @@
11
area/workflow/dotnet_clipackage:
2-
- aws_lambda_builders/workflows/dotnet_clipackage/*
3-
- aws_lambda_builders/workflows/dotnet_clipackage/**/*
2+
- changed-files:
3+
- any-glob-to-any-file:
4+
- aws_lambda_builders/workflows/dotnet_clipackage/*
5+
- aws_lambda_builders/workflows/dotnet_clipackage/**/*
46

57
area/workflow/go_modules:
6-
- aws_lambda_builders/workflows/go_modules/*
7-
- aws_lambda_builders/workflows/go_modules/**/*
8+
- changed-files:
9+
- any-glob-to-any-file:
10+
- aws_lambda_builders/workflows/go_modules/*
11+
- aws_lambda_builders/workflows/go_modules/**/*
812

913
area/workflow/java_gradle:
10-
- aws_lambda_builders/workflows/java_gradle/*
11-
- aws_lambda_builders/workflows/java_gradle/**/*
14+
- changed-files:
15+
- any-glob-to-any-file:
16+
- aws_lambda_builders/workflows/java_gradle/*
17+
- aws_lambda_builders/workflows/java_gradle/**/*
1218

1319
area/workflow/java_maven:
14-
- aws_lambda_builders/workflows/java_maven/*
15-
- aws_lambda_builders/workflows/java_maven/**/*
20+
- changed-files:
21+
- any-glob-to-any-file:
22+
- aws_lambda_builders/workflows/java_maven/*
23+
- aws_lambda_builders/workflows/java_maven/**/*
1624

1725
area/workflow/node_npm:
18-
- aws_lambda_builders/workflows/nodejs_npm/*
19-
- aws_lambda_builders/workflows/nodejs_npm/**/*
26+
- changed-files:
27+
- any-glob-to-any-file:
28+
- aws_lambda_builders/workflows/nodejs_npm/*
29+
- aws_lambda_builders/workflows/nodejs_npm/**/*
2030

2131
area/workflow/python_pip:
22-
- aws_lambda_builders/workflows/python_pip/*
23-
- aws_lambda_builders/workflows/python_pip/**/*
32+
- changed-files:
33+
- any-glob-to-any-file:
34+
- aws_lambda_builders/workflows/python_pip/*
35+
- aws_lambda_builders/workflows/python_pip/**/*
2436

2537
area/workflow/ruby_bundler:
26-
- aws_lambda_builders/workflows/ruby_bundler/*
27-
- aws_lambda_builders/workflows/ruby_bundler/**/*
38+
- changed-files:
39+
- any-glob-to-any-file:
40+
- aws_lambda_builders/workflows/ruby_bundler/*
41+
- aws_lambda_builders/workflows/ruby_bundler/**/*

.github/workflows/build.yml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ jobs:
6969
- "3.10"
7070
steps:
7171
- uses: actions/checkout@v4
72-
- uses: actions/setup-python@v4
72+
- uses: actions/setup-python@v5
7373
with:
7474
python-version: ${{ matrix.python }}
7575
- name: Unit Testing
@@ -97,7 +97,7 @@ jobs:
9797
- 9
9898
steps:
9999
- uses: actions/checkout@v4
100-
- uses: actions/setup-python@v4
100+
- uses: actions/setup-python@v5
101101
with:
102102
python-version: ${{ matrix.python }}
103103
- uses: actions/setup-node@v4
@@ -131,7 +131,7 @@ jobs:
131131
- 9
132132
steps:
133133
- uses: actions/checkout@v4
134-
- uses: actions/setup-python@v4
134+
- uses: actions/setup-python@v5
135135
with:
136136
python-version: ${{ matrix.python }}
137137
- uses: actions/setup-node@v4
@@ -162,10 +162,10 @@ jobs:
162162
- "3.12"
163163
steps:
164164
- uses: actions/checkout@v4
165-
- uses: actions/setup-python@v4
165+
- uses: actions/setup-python@v5
166166
with:
167167
python-version: ${{ matrix.python }}
168-
- uses: actions/setup-go@v4
168+
- uses: actions/setup-go@v5
169169
with:
170170
go-version: '^1.16'
171171
- run: make init
@@ -190,10 +190,10 @@ jobs:
190190
- "3.12"
191191
steps:
192192
- uses: actions/checkout@v4
193-
- uses: actions/setup-python@v4
193+
- uses: actions/setup-python@v5
194194
with:
195195
python-version: ${{ matrix.python }}
196-
- uses: actions/setup-java@v3
196+
- uses: actions/setup-java@v4
197197
with:
198198
distribution: 'corretto'
199199
java-version: '21'
@@ -221,10 +221,10 @@ jobs:
221221
- "3.12"
222222
steps:
223223
- uses: actions/checkout@v4
224-
- uses: actions/setup-python@v4
224+
- uses: actions/setup-python@v5
225225
with:
226226
python-version: ${{ matrix.python }}
227-
- uses: actions/setup-java@v3
227+
- uses: actions/setup-java@v4
228228
with:
229229
distribution: 'zulu'
230230
java-version: '21'
@@ -250,7 +250,7 @@ jobs:
250250
- "3.12"
251251
steps:
252252
- uses: actions/checkout@v4
253-
- uses: actions/setup-python@v4
253+
- uses: actions/setup-python@v5
254254
with:
255255
python-version: ${{ matrix.python }}
256256
- run: make init
@@ -275,7 +275,7 @@ jobs:
275275
- "3.12"
276276
steps:
277277
- uses: actions/checkout@v4
278-
- uses: actions/setup-python@v4
278+
- uses: actions/setup-python@v5
279279
with:
280280
python-version: ${{ matrix.python }}
281281
- run: |
@@ -304,7 +304,7 @@ jobs:
304304
- "3.12"
305305
steps:
306306
- uses: actions/checkout@v4
307-
- uses: actions/setup-python@v4
307+
- uses: actions/setup-python@v5
308308
with:
309309
python-version: ${{ matrix.python }}
310310
- uses: ruby/setup-ruby@v1
@@ -335,7 +335,7 @@ jobs:
335335
- "3.12"
336336
steps:
337337
- uses: actions/checkout@v4
338-
- uses: actions/setup-python@v4
338+
- uses: actions/setup-python@v5
339339
with:
340340
python-version: ${{ matrix.python }}
341341
- run: make init
@@ -364,7 +364,7 @@ jobs:
364364
- stable
365365
steps:
366366
- uses: actions/checkout@v4
367-
- uses: actions/setup-python@v4
367+
- uses: actions/setup-python@v5
368368
with:
369369
python-version: ${{ matrix.python }}
370370

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: Close issues on release cut
2+
3+
on:
4+
release:
5+
types: [released]
6+
7+
jobs:
8+
run-workflow:
9+
permissions:
10+
issues: write
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Close issues marked
14+
env:
15+
REPO : ${{ github.repository }}
16+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
17+
run: |
18+
release_url=$(gh release view ${{ github.ref_name }} --repo $REPO --json url --jq ".url")
19+
for issue_number in $(gh issue list -l "stage/waiting-for-release" --repo $REPO --json number --jq ".[].number"); do
20+
gh issue close $issue_number -c "Patch is released in [${{ github.ref_name }}]($release_url). If you are AWS SAM CLI user, please wait for next AWS SAM CLI release. Closing" -r completed --repo $REPO
21+
done

.github/workflows/pr-labeler.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
pull-requests: write
1010
runs-on: ubuntu-latest
1111
steps:
12-
- uses: actions/labeler@v4
12+
- uses: actions/labeler@v5
1313
with:
1414
repo-token: "${{ secrets.GITHUB_TOKEN }}"
1515
apply-internal-external-label:

aws_lambda_builders/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@
55
# Changing version will trigger a new release!
66
# Please make the version change as the last step of your development.
77

8-
__version__ = "1.43.0"
8+
__version__ = "1.44.0"
99
RPC_PROTOCOL_VERSION = "0.3"

aws_lambda_builders/workflows/python_pip/actions.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,18 @@ def execute(self) -> None:
4949
pip_runner = PipRunner(python_exe=python_with_pip, pip=pip)
5050

5151
dependency_builder = DependencyBuilder(
52-
osutils=self._os_utils, pip_runner=pip_runner, runtime=self.runtime, architecture=self.architecture
52+
osutils=self._os_utils,
53+
python_exe=python_with_pip,
54+
pip_runner=pip_runner,
55+
runtime=self.runtime,
56+
architecture=self.architecture,
5357
)
5458

5559
package_builder = PythonPipDependencyBuilder(
56-
osutils=self._os_utils, runtime=self.runtime, dependency_builder=dependency_builder
60+
osutils=self._os_utils,
61+
runtime=self.runtime,
62+
python_exe=python_with_pip,
63+
dependency_builder=dependency_builder,
5764
)
5865
try:
5966
target_artifact_dir = self.artifacts_dir

aws_lambda_builders/workflows/python_pip/packager.py

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import logging
66
import re
77
import subprocess
8-
import sys
98
from email.parser import FeedParser
109
from typing import Tuple
1110

@@ -97,7 +96,7 @@ def get_lambda_abi(runtime):
9796

9897

9998
class PythonPipDependencyBuilder(object):
100-
def __init__(self, runtime, osutils=None, dependency_builder=None, architecture=X86_64):
99+
def __init__(self, runtime, python_exe, osutils=None, dependency_builder=None, architecture=X86_64):
101100
"""Initialize a PythonPipDependencyBuilder.
102101
103102
:type runtime: str
@@ -122,7 +121,7 @@ def __init__(self, runtime, osutils=None, dependency_builder=None, architecture=
122121
self.osutils = OSUtils()
123122

124123
if dependency_builder is None:
125-
dependency_builder = DependencyBuilder(self.osutils, runtime, architecture=architecture)
124+
dependency_builder = DependencyBuilder(self.osutils, python_exe, runtime, architecture=architecture)
126125
self._dependency_builder = dependency_builder
127126

128127
def build_dependencies(self, artifacts_dir_path, scratch_dir_path, requirements_path, ui=None, config=None):
@@ -211,7 +210,7 @@ class DependencyBuilder(object):
211210
# Unlikely to hit this case.
212211
_DEFAULT_GLIBC = (2, 17)
213212

214-
def __init__(self, osutils, runtime, pip_runner=None, architecture=X86_64):
213+
def __init__(self, osutils, runtime, python_exe, pip_runner=None, architecture=X86_64):
215214
"""Initialize a DependencyBuilder.
216215
217216
:type osutils: :class:`lambda_builders.utils.OSUtils`
@@ -229,8 +228,9 @@ def __init__(self, osutils, runtime, pip_runner=None, architecture=X86_64):
229228
:param architecture: Architecture to build for.
230229
"""
231230
self._osutils = osutils
231+
self.python_exe = python_exe
232232
if pip_runner is None:
233-
pip_runner = PipRunner(python_exe=None, pip=SubprocessPip(osutils))
233+
pip_runner = PipRunner(python_exe=python_exe, pip=SubprocessPip(osutils))
234234
self._pip = pip_runner
235235
self.runtime = runtime
236236
self.architecture = architecture
@@ -364,7 +364,10 @@ def _download_all_dependencies(self, requirements_filename, directory):
364364
# which will serve as the primary list of dependencies needed to deploy
365365
# successfully.
366366
self._pip.download_all_dependencies(requirements_filename, directory)
367-
deps = {Package(directory, filename) for filename in self._osutils.get_directory_contents(directory)}
367+
deps = {
368+
Package(directory, filename, self.python_exe)
369+
for filename in self._osutils.get_directory_contents(directory)
370+
}
368371
LOG.debug("Full dependency closure: %s", deps)
369372
return deps
370373

@@ -383,7 +386,7 @@ def _build_sdists(self, sdists, directory, compile_c=True):
383386

384387
def _categorize_wheel_files(self, directory):
385388
final_wheels = [
386-
Package(directory, filename)
389+
Package(directory, filename, self.python_exe)
387390
for filename in self._osutils.get_directory_contents(directory)
388391
if filename.endswith(".whl")
389392
]
@@ -506,13 +509,14 @@ def _install_wheels(self, src_dir, dst_dir, wheels):
506509
class Package(object):
507510
"""A class to represent a package downloaded but not yet installed."""
508511

509-
def __init__(self, directory, filename, osutils=None):
512+
def __init__(self, directory, filename, python_exe, osutils=None):
510513
self.dist_type = "wheel" if filename.endswith(".whl") else "sdist"
511514
self._directory = directory
512515
self.filename = filename
513516
if osutils is None:
514517
osutils = OSUtils()
515518
self._osutils = osutils
519+
self.python_exe = python_exe
516520
self._name, self._version = self._calculate_name_and_version()
517521

518522
@property
@@ -553,7 +557,7 @@ def _calculate_name_and_version(self):
553557
# {platform tag}.whl
554558
name, version = self.filename.split("-")[:2]
555559
else:
556-
info_fetcher = SDistMetadataFetcher(osutils=self._osutils)
560+
info_fetcher = SDistMetadataFetcher(self.python_exe, osutils=self._osutils)
557561
sdist_path = self._osutils.joinpath(self._directory, self.filename)
558562
name, version = info_fetcher.get_package_name_and_version(sdist_path)
559563
normalized_name = self._normalize_name(name)
@@ -572,10 +576,11 @@ class SDistMetadataFetcher(object):
572576
"exec(compile(code, __file__, 'exec'))"
573577
)
574578

575-
def __init__(self, osutils=None):
579+
def __init__(self, python_exe, osutils=None):
576580
if osutils is None:
577581
osutils = OSUtils()
578582
self._osutils = osutils
583+
self.python_exe = python_exe
579584

580585
def _parse_pkg_info_file(self, filepath):
581586
# The PKG-INFO generated by the egg-info command is in an email feed
@@ -590,7 +595,7 @@ def _get_pkg_info_filepath(self, package_dir):
590595
setup_py = self._osutils.joinpath(package_dir, "setup.py")
591596
script = self._SETUPTOOLS_SHIM % setup_py
592597

593-
cmd = [sys.executable, "-c", script, "--no-user-cfg", "egg_info", "--egg-base", "egg-info"]
598+
cmd = [self.python_exe, "-c", script, "--no-user-cfg", "egg_info", "--egg-base", "egg-info"]
594599
egg_info_dir = self._osutils.joinpath(package_dir, "egg-info")
595600
self._osutils.makedirs(egg_info_dir)
596601
p = subprocess.Popen(

requirements/dev.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@ pyelftools~=0.30 # Used to verify the generated Go binary architecture in integr
1414
# formatter
1515
black==22.6.0; python_version < "3.8"
1616
black==23.11.0; python_version >= "3.8"
17-
ruff==0.1.5
17+
ruff==0.1.7

0 commit comments

Comments
 (0)