This is an automated email from the ASF dual-hosted git repository. tvb pushed a commit to branch tristan/shell-checkout-always-pull in repository https://gitbox.apache.org/repos/asf/buildstream.git
commit 564e0ceb7453e1c7076d0d061589d059e7515652 Author: Tristan van Berkom <[email protected]> AuthorDate: Sun Oct 10 11:37:16 2021 +0900 Remove `--pull` option from `bst artifact checkout`, and pull dependencies by default Summary of changes: * _frontend/cli.py: Remove the `--pull` option * _stream.py: remove `pull` option from `Stream.checkout()` * tests/frontend/artifact_checkout.py,buildcheckout.py: Updated tests This fixes #819 --- src/buildstream/_frontend/cli.py | 3 --- src/buildstream/_stream.py | 5 +---- tests/frontend/artifact_checkout.py | 3 +-- tests/frontend/buildcheckout.py | 8 ++++---- 4 files changed, 6 insertions(+), 13 deletions(-) diff --git a/src/buildstream/_frontend/cli.py b/src/buildstream/_frontend/cli.py index c845cd4..d2fcc62 100644 --- a/src/buildstream/_frontend/cli.py +++ b/src/buildstream/_frontend/cli.py @@ -1269,7 +1269,6 @@ def artifact_show(app, deps, artifacts): type=click.Choice(["gz", "xz", "bz2"]), help="The compression option of the tarball created.", ) [email protected]("--pull", "pull_", is_flag=True, help="Pull the artifact if it's missing or incomplete.") @click.option( "--directory", default=None, type=click.Path(file_okay=False), help="The directory to checkout the artifact to" ) @@ -1295,7 +1294,6 @@ def artifact_checkout( hardlinks, tar, compression, - pull_, directory, artifact_remotes, ignore_project_artifact_remotes, @@ -1357,7 +1355,6 @@ def artifact_checkout( selection=deps, integrate=True if integrate is None else integrate, hardlinks=hardlinks, - pull=pull_, compression=compression, tar=bool(tar), artifact_remotes=artifact_remotes, diff --git a/src/buildstream/_stream.py b/src/buildstream/_stream.py index 51ddec6..6fcfd12 100644 --- a/src/buildstream/_stream.py +++ b/src/buildstream/_stream.py @@ -647,8 +647,6 @@ class Stream: # will be placed at the given location. If true and # location is '-', the tarball will be dumped on the # standard output. - # pull: If true will attempt to pull any missing or incomplete - # artifacts. # artifact_remotes: Artifact cache remotes specified on the commmand line # ignore_project_artifact_remotes: Whether to ignore artifact remotes specified by projects # @@ -662,7 +660,6 @@ class Stream: integrate: bool = True, hardlinks: bool = False, compression: str = "", - pull: bool = False, tar: bool = False, artifact_remotes: Iterable[RemoteSpec] = (), ignore_project_artifact_remotes: bool = False, @@ -673,7 +670,7 @@ class Stream: selection=selection, load_artifacts=True, attempt_artifact_metadata=True, - connect_artifact_cache=pull, + connect_artifact_cache=True, artifact_remotes=artifact_remotes, ignore_project_artifact_remotes=ignore_project_artifact_remotes, ) diff --git a/tests/frontend/artifact_checkout.py b/tests/frontend/artifact_checkout.py index e8231b8..962b31f 100644 --- a/tests/frontend/artifact_checkout.py +++ b/tests/frontend/artifact_checkout.py @@ -63,8 +63,7 @@ def test_checkout(cli, tmpdir, datafiles, deps, expect_exist, expect_noexist, wi # Now checkout the artifact result = cli.run( - project=project, - args=["artifact", "checkout", "--directory", checkout, "--pull", "--deps", deps, artifact_name], + project=project, args=["artifact", "checkout", "--directory", checkout, "--deps", deps, artifact_name], ) if deps in ["all", "run"]: diff --git a/tests/frontend/buildcheckout.py b/tests/frontend/buildcheckout.py index 6021ff0..f031365 100644 --- a/tests/frontend/buildcheckout.py +++ b/tests/frontend/buildcheckout.py @@ -1124,13 +1124,13 @@ def test_partial_artifact_checkout_fetch(cli, datafiles, tmpdir): os.unlink(objpath) # Verify that the build-only dependency is not (complete) in the local cache + cli.configure({"artifacts": {}}) result = cli.run(project=project, args=["artifact", "checkout", input_name, "--directory", checkout_dir]) result.assert_main_error(ErrorDomain.STREAM, "uncached-checkout-attempt") # Verify that the pull method fetches relevant artifacts in order to stage - result = cli.run( - project=project, args=["artifact", "checkout", "--pull", input_name, "--directory", checkout_dir] - ) + cli.configure({"artifacts": {"servers": [{"url": share.repo, "push": True}]}}) + result = cli.run(project=project, args=["artifact", "checkout", input_name, "--directory", checkout_dir]) result.assert_success() # should have pulled whatever was deleted previous @@ -1147,7 +1147,7 @@ def test_partial_checkout_fail(tmpdir, datafiles, cli): cli.configure({"artifacts": {"servers": [{"url": share.repo, "push": True}]}}) - res = cli.run(project=project, args=["artifact", "checkout", "--pull", build_elt, "--directory", checkout_dir]) + res = cli.run(project=project, args=["artifact", "checkout", build_elt, "--directory", checkout_dir]) res.assert_main_error(ErrorDomain.STREAM, "uncached-checkout-attempt") assert re.findall(r"Remote \((\S+)\) does not have artifact (\S+) cached", res.stderr)
