Пример #1
0
def test_compose_buildkit_inline_cache(arrow_compose_path):
    compose = DockerCompose(arrow_compose_path)

    expected_calls = [
        "build --build-arg BUILDKIT_INLINE_CACHE=1 conda-cpp",
    ]
    with assert_compose_calls(compose, expected_calls):
        compose.build('conda-cpp')
Пример #2
0
def test_forwarding_env_variables(arrow_compose_path):
    expected_calls = [
        "pull --ignore-pull-failures conda-cpp",
        "build conda-cpp",
    ]
    expected_env = PartialEnv(MY_CUSTOM_VAR_A='a', MY_CUSTOM_VAR_B='b')
    with override_env({'MY_CUSTOM_VAR_A': 'a', 'MY_CUSTOM_VAR_B': 'b'}):
        compose = DockerCompose(arrow_compose_path)
        with assert_compose_calls(compose, expected_calls, env=expected_env):
            assert os.environ['MY_CUSTOM_VAR_A'] == 'a'
            assert os.environ['MY_CUSTOM_VAR_B'] == 'b'
            compose.build('conda-cpp')
Пример #3
0
def test_compose_build(arrow_compose_path):
    compose = DockerCompose(arrow_compose_path)

    expected_calls = [
        "pull --ignore-pull-failures conda-cpp",
        "build conda-cpp",
    ]
    with assert_compose_calls(compose, expected_calls):
        compose.build('conda-cpp')

    expected_calls = ["build --no-cache conda-cpp"]
    with assert_compose_calls(compose, expected_calls):
        compose.build('conda-cpp', cache=False)

    expected_calls = [
        "pull --ignore-pull-failures conda-cpp", "build conda-cpp",
        "pull --ignore-pull-failures conda-python", "build conda-python",
        "pull --ignore-pull-failures conda-python-pandas",
        "build conda-python-pandas"
    ]
    with assert_compose_calls(compose, expected_calls):
        compose.build('conda-python-pandas')

    expected_calls = [
        "build --no-cache conda-cpp",
        "build --no-cache conda-python",
        "build --no-cache conda-python-pandas",
    ]
    with assert_compose_calls(compose, expected_calls):
        compose.build('conda-python-pandas', cache=False)

    expected_calls = [
        "pull --ignore-pull-failures conda-cpp",
        "build conda-cpp",
        "pull --ignore-pull-failures conda-python",
        "build conda-python",
        "build --no-cache conda-python-pandas",
    ]
    with assert_compose_calls(compose, expected_calls):
        compose.build('conda-python-pandas', cache=True, cache_leaf=False)
Пример #4
0
def test_compose_build_params(arrow_compose_path):
    expected_calls = [
        "pull --ignore-pull-failures ubuntu-cpp",
        "build ubuntu-cpp",
    ]

    compose = DockerCompose(arrow_compose_path, params=dict(UBUNTU='18.04'))
    expected_env = PartialEnv(UBUNTU="18.04")
    with assert_compose_calls(compose, expected_calls, env=expected_env):
        compose.build('ubuntu-cpp')

    compose = DockerCompose(arrow_compose_path, params=dict(UBUNTU='16.04'))
    expected_env = PartialEnv(UBUNTU="16.04")
    with assert_compose_calls(compose, expected_calls, env=expected_env):
        compose.build('ubuntu-cpp')

    expected_calls = [
        "build --no-cache conda-cpp",
        "build --no-cache conda-python",
        "build --no-cache conda-python-pandas",
    ]
    compose = DockerCompose(arrow_compose_path, params=dict(UBUNTU='18.04'))
    expected_env = PartialEnv(PYTHON='3.6', PANDAS='latest')
    with assert_compose_calls(compose, expected_calls, env=expected_env):
        compose.build('conda-python-pandas', cache=False)

    compose = DockerCompose(arrow_compose_path, params=dict(PANDAS='0.25.3'))
    expected_env = PartialEnv(PYTHON='3.6', PANDAS='0.25.3')
    with assert_compose_calls(compose, expected_calls, env=expected_env):
        compose.build('conda-python-pandas', cache=False)

    compose = DockerCompose(arrow_compose_path,
                            params=dict(PYTHON='3.8', PANDAS='master'))
    expected_env = PartialEnv(PYTHON='3.8', PANDAS='master')
    with assert_compose_calls(compose, expected_calls, env=expected_env):
        compose.build('conda-python-pandas', cache=False)