diff --git a/.gitignore b/.gitignore index 91fcf52..2abaa0d 100644 --- a/.gitignore +++ b/.gitignore @@ -147,6 +147,8 @@ tests/cases/executor_3/config.yml tests/cases/executor_3/Dockerfile tests/cases/executor_4/__jina__.Dockerfile tests/cases/executor_4/Dockerfile +tests/cases/executor_6/__jina__.Dockerfile +tests/cases/executor_6/Dockerfile tests/cases/executor_7/__jina__.Dockerfile tests/cases/nested/__jina__.Dockerfile tests/cases/nested/config.yml diff --git a/normalizer/core.py b/normalizer/core.py index 7377bb9..cd2e5fc 100644 --- a/normalizer/core.py +++ b/normalizer/core.py @@ -609,8 +609,6 @@ def normalize( # if len(base_images) > 0: # logger.debug(f'=> use base image: {base_images}') # dockerfile.baseimage = base_images.pop() - if build_env and isinstance(build_env, dict) and len(build_env.keys()): - dockerfile.insert_build_env(build_env) dockerfile.add_work_dir() # dockerfile._parser.add_lines(f'RUN pip install jina=={jina_version}') @@ -621,6 +619,9 @@ def normalize( if requirements_path.exists(): dockerfile.add_pip_install() + if build_env and isinstance(build_env, dict) and len(build_env.keys()): + dockerfile.insert_build_env(build_env) + # if len(test_glob) > 0: # dockerfile.add_unitest() diff --git a/tests/cases/executor_6/Dockerfile.expect b/tests/cases/executor_6/Dockerfile.expect new file mode 100644 index 0000000..c6bc337 --- /dev/null +++ b/tests/cases/executor_6/Dockerfile.expect @@ -0,0 +1,14 @@ +# This file is automatically generated by Jina executor normalizer plugin. +# It is not intended for manual editing. + +FROM jinaai/jina:2-py37-perf + +# setup the workspace +COPY . /workspace +WORKDIR /workspace + +# install the third-party requirements +RUN --mount=type=secret,id=DOMAIN export DOMAIN="$(cat /run/secrets/DOMAIN)" && pip install --default-timeout=1000 --compile --no-cache-dir \ + -r requirements.txt + +ENTRYPOINT ["jina", "executor", "--uses", "config.yml"] diff --git a/tests/cases/executor_6/requirements.txt b/tests/cases/executor_6/requirements.txt new file mode 100644 index 0000000..e69de29 diff --git a/tests/test_core.py b/tests/test_core.py index abbd1aa..a902b62 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -106,17 +106,23 @@ def test_get_executor_args(package_path, expected_path): 'DOMAIN': "DOMAIN", 'REPO': 'REPO' } + ), + ( + Path(__file__).parent / 'cases' / 'executor_2', + None ), ( - Path(__file__).parent / 'cases' / 'executor_7', + Path(__file__).parent / 'cases' / 'executor_6', { 'DOMAIN': "DOMAIN", - 'REPO': 'REPO' } ), ( - Path(__file__).parent / 'cases' / 'executor_2', - None + Path(__file__).parent / 'cases' / 'executor_7', + { + 'DOMAIN': "DOMAIN", + 'REPO': 'REPO' + } ), ], )