Add option for wheelhouse overrides #338

Merged
merged 2 commits into from Aug 25, 2017

Conversation

Projects
None yet
2 participants
Member

johnsca commented Aug 24, 2017

To facilitate CI and testing of charms with new versions of Python dependencies, particularly those from base layers, you can now provide a wheelhouse.txt file via the charm-build CLI that will be applied
after all others which can thus override any dependencies from lower layers.

Add option for wheelhouse overrides
To facilitate CI and testing of charms with new versions of Python
dependencies, particularly those from base layers, you can now provide
a wheelhouse.txt file via the `charm-build` CLI that will be applied
after all others which can thus override any dependencies from lower
layers.

@johnsca johnsca requested review from marcoceppi and tvansteenburgh Aug 24, 2017

Would like to see tests, but :LGTM: otherwise.

+ next_config,
+ )
+ if existing_tactic is not None:
+ output_files['wheelhouse.txt'].combine(existing_tactic)
@marcoceppi

marcoceppi Aug 24, 2017

Owner

Should we combine or just be an overwrite?

@marcoceppi

marcoceppi Aug 24, 2017

Owner

Nevermind, thinking about it combine makes more sense

@johnsca

johnsca Aug 24, 2017

Member

Combine merges the files. In fact, we end up with both versions of the files in the wheelhouse, which is also something that can happen with multiple layers referencing the same dep. It would be great to be able to resolve that up front, but that would require reimplementing much of pip's dependency resolution, so I'm disinclined to even try. It does generally do the right thing at the end, but it may be something we need to address eventually.

Member

johnsca commented Aug 24, 2017

@marcoceppi I can look at adding / extending tests tomorrow.

Owner

marcoceppi commented Aug 25, 2017

Thanks @johnsca, looks great! Should be in edge shortly.

@marcoceppi marcoceppi merged commit 5761a72 into master Aug 25, 2017

3 checks passed

codacy/pr Good work! A positive pull request.
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
continuous-integration/travis-ci/push The Travis CI build passed
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment