Skip to content

Commit 1efec73

Browse files
github-actions[bot]p-pekalaswtwskgithub-actions
authored
Release 0.20.0 (#76)
* Pass extra docker argument (#75) * Pass extra docker argument * Update data_pipelines_cli/cli_commands/compile.py Co-authored-by: Andrzej Swatowski <33041023+swtwsk@users.noreply.github.com> * Pass extra docker argument * Pass extra docker argument * Pass extra docker argument Co-authored-by: p-pekala <piotr.pekala@getindata.com> Co-authored-by: Andrzej Swatowski <33041023+swtwsk@users.noreply.github.com> * FIX #76 - Bump version and CHANGELOG for release 0.20.0 Co-authored-by: Piotr Pękala <piotr_pekala@wp.pl> Co-authored-by: p-pekala <piotr.pekala@getindata.com> Co-authored-by: Andrzej Swatowski <33041023+swtwsk@users.noreply.github.com> Co-authored-by: github-actions <github-actions@github.com>
1 parent 66ab4ad commit 1efec73

File tree

8 files changed

+38
-17
lines changed

8 files changed

+38
-17
lines changed

CHANGELOG.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## [Unreleased]
44

5+
## [0.20.0] - 2022-05-04
6+
7+
- `--docker-args` has been added to `dp compile`
8+
59
## [0.19.0] - 2022-04-25
610

711
### Added
@@ -197,7 +201,9 @@
197201
- Draft of `dp init`, `dp create`, `dp template new`, `dp template list` and `dp dbt`
198202
- Draft of `dp compile` and `dp deploy`
199203

200-
[Unreleased]: https://github.com/getindata/data-pipelines-cli/compare/0.19.0...HEAD
204+
[Unreleased]: https://github.com/getindata/data-pipelines-cli/compare/0.20.0...HEAD
205+
206+
[0.20.0]: https://github.com/getindata/data-pipelines-cli/compare/0.19.0...0.20.0
201207

202208
[0.19.0]: https://github.com/getindata/data-pipelines-cli/compare/0.18.0...0.19.0
203209

data_pipelines_cli/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@
55
pipelines.
66
"""
77

8-
version = "0.19.0"
8+
version = "0.20.0"

data_pipelines_cli/cli_commands/compile.py

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
import json
12
import pathlib
23
import shutil
3-
from typing import Optional
4+
from typing import Dict, Optional
45

56
import click
67
import yaml
@@ -37,7 +38,9 @@ def _docker_build(docker_args: DockerArgs) -> None:
3738
docker_client = docker.from_env()
3839
docker_tag = docker_args.docker_build_tag()
3940
try:
40-
_, logs_generator = docker_client.images.build(path=".", tag=docker_tag)
41+
_, logs_generator = docker_client.images.build(
42+
path=".", tag=docker_tag, buildargs=docker_args.build_args
43+
)
4144
DockerResponseReader(logs_generator).click_echo_ok_responses()
4245
except docker.errors.BuildError as err:
4346
build_log = "\n".join([str(log) for log in err.build_log])
@@ -86,7 +89,12 @@ def _replace_datahub_with_jinja_vars(env: str) -> None:
8689
yaml.dump(updated_config, datahub_config_file)
8790

8891

89-
def compile_project(env: str, docker_tag: Optional[str] = None, docker_build: bool = False) -> None:
92+
def compile_project(
93+
env: str,
94+
docker_tag: Optional[str] = None,
95+
docker_build: bool = False,
96+
docker_build_args: Optional[Dict[str, str]] = None,
97+
) -> None:
9098
"""
9199
Create local working directories and build artifacts.
92100
@@ -101,7 +109,7 @@ def compile_project(env: str, docker_tag: Optional[str] = None, docker_build: bo
101109
copy_dag_dir_to_build_dir()
102110
copy_config_dir_to_build_dir()
103111

104-
docker_args = DockerArgs(env, docker_tag)
112+
docker_args = DockerArgs(env, docker_tag, docker_build_args or {})
105113
replace_image_settings(docker_args)
106114
_replace_datahub_with_jinja_vars(env)
107115

@@ -133,5 +141,10 @@ def compile_project(env: str, docker_tag: Optional[str] = None, docker_build: bo
133141
@click.option(
134142
"--docker-tag", type=str, required=False, help="Image tag of a Docker image to create"
135143
)
136-
def compile_project_command(env: str, docker_build: bool, docker_tag: Optional[str]) -> None:
137-
compile_project(env, docker_tag, docker_build)
144+
@click.option(
145+
"--docker-args", type=str, required=False, help="Args required to build project in json format"
146+
)
147+
def compile_project_command(
148+
env: str, docker_build: bool, docker_tag: Optional[str], docker_args: Optional[str]
149+
) -> None:
150+
compile_project(env, docker_tag, docker_build, json.loads(docker_args or "{}"))

data_pipelines_cli/cli_commands/deploy.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ def __init__(
4444
provider_kwargs_dict: Optional[Dict[str, Any]],
4545
datahub_ingest: bool,
4646
) -> None:
47-
self.docker_args = DockerArgs(env, None) if docker_push else None
47+
self.docker_args = DockerArgs(env, None, {}) if docker_push else None
4848
self.datahub_ingest = datahub_ingest
4949
self.provider_kwargs_dict = provider_kwargs_dict or {}
5050
self.env = env

data_pipelines_cli/data_structures.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,12 @@ class DockerArgs:
6666
"""URI of the Docker images repository"""
6767
image_tag: str
6868
"""An image tag"""
69+
build_args: Dict[str, str]
6970

70-
def __init__(self, env: str, image_tag: Optional[str]) -> None:
71+
def __init__(self, env: str, image_tag: Optional[str], build_args: Dict[str, str]) -> None:
7172
self.repository = self._get_docker_repository_uri_from_k8s_config(env)
7273
self.image_tag = self._get_image_tag_from_k8s_config(env, image_tag)
74+
self.build_args = build_args
7375

7476
def docker_build_tag(self) -> str:
7577
"""

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[bumpversion]
2-
current_version = 0.19.0
2+
current_version = 0.20.0
33

44
[bumpversion:file:setup.py]
55

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161

6262
setup(
6363
name="data_pipelines_cli",
64-
version="0.19.0",
64+
version="0.20.0",
6565
description="CLI for data platform",
6666
long_description=README,
6767
long_description_content_type="text/markdown",

tests/test_data_structures.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ def test_build_tag(self, mock_git_revision_hash):
6868
mock_git_revision_hash.return_value = commit_sha
6969

7070
with patch("data_pipelines_cli.cli_constants.BUILD_DIR", self.build_temp_dir):
71-
docker_args = DockerArgs("base", None)
71+
docker_args = DockerArgs("base", None, {})
7272

7373
self.assertEqual(f"{repository}:{commit_sha}", docker_args.docker_build_tag())
7474
self.assertEqual(repository, docker_args.repository)
@@ -79,7 +79,7 @@ def test_given_tag(self):
7979
image_tag = "my_awesome_tag_eee440b_latest"
8080

8181
with patch("data_pipelines_cli.cli_constants.BUILD_DIR", self.build_temp_dir):
82-
docker_args = DockerArgs("base", image_tag)
82+
docker_args = DockerArgs("base", image_tag, {})
8383

8484
self.assertEqual(f"{repository}:{image_tag}", docker_args.docker_build_tag())
8585
self.assertEqual(repository, docker_args.repository)
@@ -90,7 +90,7 @@ def test_set_tag(self):
9090
image_tag = "some_test_tag_a1s2d3f"
9191

9292
with patch("data_pipelines_cli.cli_constants.BUILD_DIR", self.build_temp_dir):
93-
docker_args = DockerArgs("image_tag", None)
93+
docker_args = DockerArgs("image_tag", None, {})
9494

9595
self.assertEqual(f"{repository}:{image_tag}", docker_args.docker_build_tag())
9696
self.assertEqual(repository, docker_args.repository)
@@ -103,12 +103,12 @@ def test_no_repository(self, mock_git_revision_hash):
103103
mock_git_revision_hash.return_value = commit_sha
104104

105105
with self.assertRaises(DataPipelinesError):
106-
_ = DockerArgs("base", None)
106+
_ = DockerArgs("base", None, {})
107107

108108
@patch("data_pipelines_cli.data_structures.git_revision_hash")
109109
def test_no_git_hash(self, mock_git_revision_hash):
110110
mock_git_revision_hash.return_value = None
111111

112112
with patch("data_pipelines_cli.cli_constants.BUILD_DIR", self.build_temp_dir):
113113
with self.assertRaises(DataPipelinesError):
114-
_ = DockerArgs("base", None)
114+
_ = DockerArgs("base", None, {})

0 commit comments

Comments
 (0)