Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 65ffea2

Browse files
gilandoseantonbabenko
andauthored
feat: Allow temp dir for poetry docker builds (#638)
Co-authored-by: Anton Babenko <anton@antonbabenko.com>
1 parent 9bbe65d commit 65ffea2

File tree

2 files changed

+10
-11
lines changed

2 files changed

+10
-11
lines changed

‎examples/build-package/main.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,7 @@ module "lambda_layer_poetry" {
426426
{
427427
path = "${path.module}/../fixtures/python-app-poetry"
428428
poetry_install = true
429+
poetry_tmp_dir = "${path.cwd}/../fixtures"
429430
}
430431
]
431432
hash_extra = "extra-hash-to-prevent-conflicts-with-module.package_dir"

‎package.py

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -707,7 +707,7 @@ def pip_requirements_step(path, prefix=None, required=False, tmp_dir=None):
707707
hash(requirements)
708708

709709
def poetry_install_step(
710-
path, poetry_export_extra_args=[], prefix=None, required=False
710+
path, poetry_export_extra_args=[], prefix=None, required=False, tmp_dir=None
711711
):
712712
pyproject_file = path
713713
if os.path.isdir(path):
@@ -718,7 +718,7 @@ def poetry_install_step(
718718
"poetry configuration not found: {}".format(pyproject_file)
719719
)
720720
else:
721-
step("poetry", runtime, path, poetry_export_extra_args, prefix)
721+
step("poetry", runtime, path, poetry_export_extra_args, prefix, tmp_dir)
722722
hash(pyproject_file)
723723
pyproject_path = os.path.dirname(pyproject_file)
724724
poetry_lock_file = os.path.join(pyproject_path, "poetry.lock")
@@ -849,6 +849,7 @@ def commands_step(path, commands):
849849
prefix=prefix,
850850
poetry_export_extra_args=poetry_export_extra_args,
851851
required=True,
852+
tmp_dir=claim.get("poetry_tmp_dir"),
852853
)
853854

854855
if npm_requirements and runtime.startswith("nodejs"):
@@ -949,15 +950,12 @@ def execute(self, build_plan, zip_stream, query):
949950
# XXX: timestamp=0 - what actually do with it?
950951
zs.write_dirs(rd, prefix=prefix, timestamp=0)
951952
elif cmd == "poetry":
952-
(
953-
runtime,
954-
path,
955-
poetry_export_extra_args,
956-
prefix,
957-
) = action[1:]
953+
(runtime, path, poetry_export_extra_args, prefix, tmp_dir) = action[
954+
1:
955+
]
958956
log.info("poetry_export_extra_args: %s", poetry_export_extra_args)
959957
with install_poetry_dependencies(
960-
query, path, poetry_export_extra_args
958+
query, path, poetry_export_extra_args, tmp_dir
961959
) as rd:
962960
if rd:
963961
if pf:
@@ -1177,7 +1175,7 @@ def install_pip_requirements(query, requirements_file, tmp_dir):
11771175

11781176

11791177
@contextmanager
1180-
def install_poetry_dependencies(query, path, poetry_export_extra_args):
1178+
def install_poetry_dependencies(query, path, poetry_export_extra_args, tmp_dir):
11811179
# TODO:
11821180
# 1. Emit files instead of temp_dir
11831181

@@ -1231,7 +1229,7 @@ def install_poetry_dependencies(query, path, poetry_export_extra_args):
12311229
working_dir = os.getcwd()
12321230

12331231
log.info("Installing python dependencies with poetry & pip: %s", poetry_lock_file)
1234-
with tempdir() as temp_dir:
1232+
with tempdir(tmp_dir) as temp_dir:
12351233

12361234
def copy_file_to_target(file, temp_dir):
12371235
filename = os.path.basename(file)

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /