Skip to content

Commit 7640b1a

Browse files
hawflauandcltlucashuymildanieljack-davies
authored
Add nodejs20.x support (#67) (#569)
* Add nodejs20.x support * fix: Fix missing encoding when logging from Makefile (#535) * Fix missing encoding when logging from Makefile * Add comment explaining why stderr * Undo testing code * Version bump to 1.37.0 (#537) * Support PEP 600 platform tags for arm64 (#536) * chore(deps-dev): bump ruff from 0.0.284 to 0.0.287 in /requirements (#539) Bumps [ruff](https://github.com/astral-sh/ruff) from 0.0.284 to 0.0.287. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/BREAKING_CHANGES.md) - [Commits](astral-sh/ruff@v0.0.284...v0.0.287) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:development update-type: version-update:semver-patch ... * chore(deps): bump actions/checkout from 3 to 4 (#538) Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... * chore(deps-dev): bump black from 23.3.0 to 23.7.0 in /requirements (#534) * chore(deps-dev): bump black from 23.3.0 to 23.7.0 in /requirements Bumps [black](https://github.com/psf/black) from 23.3.0 to 23.7.0. - [Release notes](https://github.com/psf/black/releases) - [Changelog](https://github.com/psf/black/blob/main/CHANGES.md) - [Commits](psf/black@23.3.0...23.7.0) --- updated-dependencies: - dependency-name: black dependency-type: direct:development update-type: version-update:semver-minor ... * Update requirements/dev.txt --------- * chore(deps-dev): bump black from 23.7.0 to 23.9.1 in /requirements (#543) Bumps [black](https://github.com/psf/black) from 23.7.0 to 23.9.1. - [Release notes](https://github.com/psf/black/releases) - [Changelog](https://github.com/psf/black/blob/main/CHANGES.md) - [Commits](psf/black@23.7.0...23.9.1) --- updated-dependencies: - dependency-name: black dependency-type: direct:development update-type: version-update:semver-minor ... * chore(deps-dev): bump ruff from 0.0.287 to 0.0.288 in /requirements (#542) Bumps [ruff](https://github.com/astral-sh/ruff) from 0.0.287 to 0.0.288. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/BREAKING_CHANGES.md) - [Commits](astral-sh/ruff@v0.0.287...v0.0.288) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:development update-type: version-update:semver-patch ... * chore(deps-dev): update pyelftools requirement in /requirements (#540) Updates the requirements on [pyelftools](https://github.com/eliben/pyelftools) to permit the latest version. - [Changelog](https://github.com/eliben/pyelftools/blob/master/CHANGES) - [Commits](eliben/pyelftools@v0.29...v0.30) --- updated-dependencies: - dependency-name: pyelftools dependency-type: direct:development ... * chore(deps-dev): bump coverage from 7.2.7 to 7.3.1 in /requirements (#541) * chore(deps-dev): bump coverage from 7.2.7 to 7.3.1 in /requirements Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.2.7 to 7.3.1. - [Release notes](https://github.com/nedbat/coveragepy/releases) - [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst) - [Commits](nedbat/coveragepy@7.2.7...7.3.1) --- updated-dependencies: - dependency-name: coverage dependency-type: direct:development update-type: version-update:semver-minor ... * fix: set coverage versions based on python versions - since coverage 7.3.x python3.7 support has been dropped. --------- * chore: Version Bump 1.38.0 (#544) * chore(deps-dev): bump ruff from 0.0.288 to 0.0.290 in /requirements (#545) Bumps [ruff](https://github.com/astral-sh/ruff) from 0.0.288 to 0.0.290. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/BREAKING_CHANGES.md) - [Commits](astral-sh/ruff@v0.0.288...v0.0.290) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:development update-type: version-update:semver-patch ... * Update github action to install nodejs 20 --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Andrea Culot <[email protected]> Co-authored-by: Lucas <[email protected]> Co-authored-by: Daniel Mil <[email protected]> Co-authored-by: jack-davies <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Sriram Madapusi Vasudevan <[email protected]> Co-authored-by: Sriram Madapusi Vasudevan <[email protected]> Co-authored-by: Mohamed Elasmar <[email protected]> Co-authored-by: Mohamed ElAsmar <[email protected]>
1 parent f5d08dd commit 7640b1a

File tree

6 files changed

+41
-36
lines changed

6 files changed

+41
-36
lines changed

.github/workflows/build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ jobs:
102102
python-version: ${{ matrix.python }}
103103
- uses: actions/setup-node@v4
104104
with:
105-
node-version: 18
105+
node-version: 20
106106
- if: ${{ matrix.npm }}
107107
run: npm install -g npm@${{ matrix.npm }}
108108
- run: npm --version
@@ -135,7 +135,7 @@ jobs:
135135
python-version: ${{ matrix.python }}
136136
- uses: actions/setup-node@v4
137137
with:
138-
node-version: 18
138+
node-version: 20
139139
- if: ${{ matrix.npm }}
140140
run: npm install -g npm@${{ matrix.npm }}
141141
- run: npm --version

aws_lambda_builders/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@
44

55
# Changing version will trigger a new release!
66
# Please make the version change as the last step of your development.
7+
78
__version__ = "1.40.0"
89
RPC_PROTOCOL_VERSION = "0.3"

aws_lambda_builders/validator.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
"nodejs14.x": [ARM64, X86_64],
1515
"nodejs16.x": [ARM64, X86_64],
1616
"nodejs18.x": [ARM64, X86_64],
17+
"nodejs20.x": [ARM64, X86_64],
1718
"python3.7": [X86_64],
1819
"python3.8": [ARM64, X86_64],
1920
"python3.9": [ARM64, X86_64],

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.10.1; python_version >= "3.8"
17-
ruff==0.1.4
17+
ruff==0.1.4

tests/integration/workflows/nodejs_npm/test_nodejs_npm.py

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ def tearDown(self):
4141
shutil.rmtree(self.dependencies_dir)
4242
shutil.rmtree(self.temp_dir)
4343

44-
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",)])
44+
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",), ("nodejs20.x",)])
4545
def test_builds_project_without_dependencies(self, runtime):
4646
source_dir = os.path.join(self.TEST_DATA_FOLDER, "no-deps")
4747

@@ -57,7 +57,7 @@ def test_builds_project_without_dependencies(self, runtime):
5757
output_files = set(os.listdir(self.artifacts_dir))
5858
self.assertEqual(expected_files, output_files)
5959

60-
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",)])
60+
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",), ("nodejs20.x",)])
6161
def test_builds_project_without_manifest(self, runtime):
6262
source_dir = os.path.join(self.TEST_DATA_FOLDER, "no-manifest")
6363

@@ -75,7 +75,7 @@ def test_builds_project_without_manifest(self, runtime):
7575
mock_warning.assert_called_once_with("package.json file not found. Continuing the build without dependencies.")
7676
self.assertEqual(expected_files, output_files)
7777

78-
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",)])
78+
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",), ("nodejs20.x",)])
7979
def test_builds_project_and_excludes_hidden_aws_sam(self, runtime):
8080
source_dir = os.path.join(self.TEST_DATA_FOLDER, "excluded-files")
8181

@@ -91,7 +91,7 @@ def test_builds_project_and_excludes_hidden_aws_sam(self, runtime):
9191
output_files = set(os.listdir(self.artifacts_dir))
9292
self.assertEqual(expected_files, output_files)
9393

94-
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",)])
94+
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",), ("nodejs20.x",)])
9595
def test_builds_project_with_remote_dependencies(self, runtime):
9696
source_dir = os.path.join(self.TEST_DATA_FOLDER, "npm-deps")
9797

@@ -111,7 +111,7 @@ def test_builds_project_with_remote_dependencies(self, runtime):
111111
output_modules = set(os.listdir(os.path.join(self.artifacts_dir, "node_modules")))
112112
self.assertEqual(expected_modules, output_modules)
113113

114-
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",)])
114+
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",), ("nodejs20.x",)])
115115
def test_builds_project_with_npmrc(self, runtime):
116116
source_dir = os.path.join(self.TEST_DATA_FOLDER, "npmrc")
117117

@@ -138,14 +138,17 @@ def test_builds_project_with_npmrc(self, runtime):
138138
("nodejs14.x", "package-lock"),
139139
("nodejs16.x", "package-lock"),
140140
("nodejs18.x", "package-lock"),
141+
("nodejs20.x", "package-lock"),
141142
("nodejs12.x", "shrinkwrap"),
142143
("nodejs14.x", "shrinkwrap"),
143144
("nodejs16.x", "shrinkwrap"),
144145
("nodejs18.x", "shrinkwrap"),
146+
("nodejs20.x", "shrinkwrap"),
145147
("nodejs12.x", "package-lock-and-shrinkwrap"),
146148
("nodejs14.x", "package-lock-and-shrinkwrap"),
147149
("nodejs16.x", "package-lock-and-shrinkwrap"),
148150
("nodejs18.x", "package-lock-and-shrinkwrap"),
151+
("nodejs20.x", "package-lock-and-shrinkwrap"),
149152
]
150153
)
151154
def test_builds_project_with_lockfile(self, runtime, dir_name):
@@ -172,7 +175,7 @@ def test_builds_project_with_lockfile(self, runtime, dir_name):
172175

173176
self.assertEqual(expected_files, output_files)
174177

175-
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",)])
178+
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",), ("nodejs20.x",)])
176179
def test_fails_if_npm_cannot_resolve_dependencies(self, runtime):
177180
source_dir = os.path.join(self.TEST_DATA_FOLDER, "broken-deps")
178181

@@ -187,7 +190,7 @@ def test_fails_if_npm_cannot_resolve_dependencies(self, runtime):
187190

188191
self.assertIn("No matching version found for [email protected]", str(ctx.exception))
189192

190-
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",)])
193+
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",), ("nodejs20.x",)])
191194
def test_builds_project_with_remote_dependencies_without_download_dependencies_with_dependencies_dir(self, runtime):
192195
source_dir = os.path.join(self.TEST_DATA_FOLDER, "npm-deps")
193196

@@ -205,7 +208,7 @@ def test_builds_project_with_remote_dependencies_without_download_dependencies_w
205208
output_files = set(os.listdir(self.artifacts_dir))
206209
self.assertEqual(expected_files, output_files)
207210

208-
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",)])
211+
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",), ("nodejs20.x",)])
209212
def test_builds_project_with_remote_dependencies_with_download_dependencies_and_dependencies_dir(self, runtime):
210213
source_dir = os.path.join(self.TEST_DATA_FOLDER, "npm-deps")
211214

@@ -235,7 +238,7 @@ def test_builds_project_with_remote_dependencies_with_download_dependencies_and_
235238
output_dependencies_files = set(os.listdir(os.path.join(self.dependencies_dir)))
236239
self.assertNotIn(expected_dependencies_files, output_dependencies_files)
237240

238-
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",)])
241+
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",), ("nodejs20.x",)])
239242
def test_builds_project_with_remote_dependencies_without_download_dependencies_without_dependencies_dir(
240243
self, runtime
241244
):
@@ -256,7 +259,7 @@ def test_builds_project_with_remote_dependencies_without_download_dependencies_w
256259
output_files = set(os.listdir(self.artifacts_dir))
257260
self.assertEqual(expected_files, output_files)
258261

259-
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",)])
262+
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",), ("nodejs20.x",)])
260263
def test_builds_project_without_combine_dependencies(self, runtime):
261264
source_dir = os.path.join(self.TEST_DATA_FOLDER, "npm-deps")
262265

@@ -283,7 +286,7 @@ def test_builds_project_without_combine_dependencies(self, runtime):
283286
output_dependencies_files = set(os.listdir(os.path.join(self.dependencies_dir)))
284287
self.assertNotIn(expected_dependencies_files, output_dependencies_files)
285288

286-
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",)])
289+
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",), ("nodejs20.x",)])
287290
def test_build_in_source_with_download_dependencies(self, runtime):
288291
source_dir = os.path.join(self.temp_testdata_dir, "npm-deps")
289292

@@ -312,7 +315,7 @@ def test_build_in_source_with_download_dependencies(self, runtime):
312315
output_files = set(os.listdir(self.artifacts_dir))
313316
self.assertEqual(expected_files, output_files)
314317

315-
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",)])
318+
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",), ("nodejs20.x",)])
316319
def test_build_in_source_with_download_dependencies_local_dependency(self, runtime):
317320
source_dir = os.path.join(self.temp_testdata_dir, "with-local-dependency")
318321

@@ -341,7 +344,7 @@ def test_build_in_source_with_download_dependencies_local_dependency(self, runti
341344
output_files = set(os.listdir(self.artifacts_dir))
342345
self.assertEqual(expected_files, output_files)
343346

344-
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",)])
347+
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",), ("nodejs20.x",)])
345348
def test_build_in_source_with_download_dependencies_and_dependencies_dir(self, runtime):
346349
source_dir = os.path.join(self.temp_testdata_dir, "npm-deps")
347350

@@ -376,7 +379,7 @@ def test_build_in_source_with_download_dependencies_and_dependencies_dir(self, r
376379
output_files = set(os.listdir(self.artifacts_dir))
377380
self.assertEqual(expected_files, output_files)
378381

379-
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",)])
382+
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",), ("nodejs20.x",)])
380383
def test_build_in_source_with_download_dependencies_and_dependencies_dir_without_combine_dependencies(
381384
self, runtime
382385
):
@@ -409,7 +412,7 @@ def test_build_in_source_with_download_dependencies_and_dependencies_dir_without
409412
output_files = set(os.listdir(self.artifacts_dir))
410413
self.assertEqual(expected_files, output_files)
411414

412-
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",)])
415+
@parameterized.expand([("nodejs12.x",), ("nodejs14.x",), ("nodejs16.x",), ("nodejs18.x",), ("nodejs20.x",)])
413416
def test_build_in_source_reuse_saved_dependencies_dir(self, runtime):
414417
source_dir = os.path.join(self.temp_testdata_dir, "npm-deps")
415418

0 commit comments

Comments
 (0)