-
Notifications
You must be signed in to change notification settings - Fork 990
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
conan create remote WIP #15768
conan create remote WIP #15768
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, some minor comments
(I still need to understand better the integration)
7cee9eb
to
f897344
Compare
6513c14
to
dca0d5a
Compare
0e9bba7
to
d7fba39
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! Some initial comments and questions/doubts, but overall looks great :)
conan/internal/runner/docker.py
Outdated
except StopIteration: | ||
pass | ||
else: | ||
return exec_run.output.decode('utf-8', errors='ignore').strip() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this already get printed if stream is set to false elsewhere? Or is the idea to have that case be silent?
self.run_command('conan list --graph=create.json --graph-binaries=build --format=json > pkglist.json') | ||
self.run_command('conan cache save --list=pkglist.json --file "'+self.abs_docker_path+'"/.conanrunner/docker_cache_save.tgz') | ||
tgz_path = os.path.join(self.abs_runner_home_path, 'docker_cache_save.tgz') | ||
docker_info(f'Restore host cache from: {tgz_path}') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good 👍!
7ab9bd1
to
65ba41d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Creating another feature/docker_wrapper
branch helps a bit to checkout and work on your branch
Already discussed with @davidsanfal some points, but submitting to share with others too
conans/requirements.txt
Outdated
@@ -7,3 +7,4 @@ fasteners>=0.15 | |||
distro>=1.4.0, <=1.8.0; sys_platform == 'linux' or sys_platform == 'linux2' | |||
Jinja2>=3.0, <4.0.0 | |||
python-dateutil>=2.8.0, <3 | |||
docker>=5.0.0, <=5.0.3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am concerned about this: https://github.com/docker/docker-py/blob/main/requirements.txt, for example pinning the requests
version to an exact one.
Adding extra dependencies to Conan has always been fragile, interacting with other user dependencies, etc.
I'd explore the possibility to make this opt-in
conan/cli/commands/create.py
Outdated
@@ -55,6 +58,12 @@ def create(conan_api, parser, *args): | |||
args.build_require) | |||
|
|||
print_profiles(profile_host, profile_build) | |||
if profile_build.runner and not os.environ.get("CONAN_RUNNER_ENVIRONMENT"): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be profile_host
, not profile build. We want to apply this runner to the "host" packages, not to the "build" context packages (most likely we want to apply to both)
@memsharded Moved to #15856 |
Changelog: (Feature | Fix | Bugfix): Describe here your pull request
Docs: https://github.com/conan-io/docs/pull/XXXX
develop
branch, documenting this one.