Skip to content
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

Pin the actual recipe revisions for all conan dependencies #4047

Merged
merged 3 commits into from
Aug 17, 2020

Conversation

jmarrec
Copy link
Collaborator

@jmarrec jmarrec commented Aug 14, 2020

Pro: we have zero chance of pulling something else. Fully reproducible builds

Cons: whenever we want to update a dependency, we'll have to bump the revision in OpenStudio/ConanInstall.cmake

If we do not pin dependencies, we could simply upload a new recipe revision, and delete the old one from the remote, or pass UPDATE to conan cmake run. I don't like passing UPDATE to conan_cmake_run actually because it has to query bintray for changes everytime you run cmake (which takes time, doesn't work offline, etc)

Note: the pinning of deps really matter a lot of openstuido_ruby but not so much for the rest of the deps. Because we're unlikely going to bump a dep like boost for no reason without also bumping the version (eg boost/1.74...)

Pro: we have zero chance of pulling something else. Fully reproducible builds


Cons: whenever we want to update a dependency, we'll have to bump the revision in OpenStudio/ConanInstall.cmake

If we do not pin dependencies, we could simply upload a new recipe revision, and delete the old one from the remote, or pass UPDATE to conan cmake run. I don't like passing UPDATE to conan_cmake_run actually  because it has to query bintray for changes everytime you run cmake (which takes time, doesn't work offline, etc)


Note: the pinning of deps really matter a lot of openstuido_ruby but not so much for the rest of the deps. Because we're unlikely going to bump a dep like boost for no reason without also bumping the version (eg boost/1.74...)
@jmarrec jmarrec requested a review from tijcolem August 14, 2020 23:54
@jmarrec jmarrec self-assigned this Aug 14, 2020
@jmarrec jmarrec added Pull Request - Ready for CI This pull request if finalized and is ready for continuous integration verification prior to merge. Developer Issue labels Aug 14, 2020
ConanInstall.cmake Outdated Show resolved Hide resolved
@jmarrec
Copy link
Collaborator Author

jmarrec commented Aug 15, 2020

@tijcolem we'll have to wipe the entire conan cache on the build agents) to make this work, because there are conflicts with the packages already there BEFORE the general.revisions_enabled=True. Or just need to re-enable UPDATE as it's safer. too bad.

ERROR: The '0' revision recipe in the local cache doesn't match the requested
'openssl/1.1.0l#7f3fa5cfcfba31fffa344c71a9795176'. Use '--update' to check in the remote.

ConanInstall.cmake Outdated Show resolved Hide resolved
…see if we can find the right revisions in case we have some revisions already and they don't match. Too bad.
@jmarrec
Copy link
Collaborator Author

jmarrec commented Aug 15, 2020

Mac is just failing because of the usual suspect (cf #4043)

	2368 - EnergyPlusFixture.ForwardTranslatorTest_MultiThreadedLogMessages (Failed)

@tijcolem
Copy link
Collaborator

I cleared the ~/.conan/data on the remote agents and replayed the CI. It sounds like this may not have been necessary due to your recent change using UPDATE but I thought we'd start w/o any conan data to make sure things work as expected. The nightly build agents do not have any conan cache so we don't need to do anything with those.

@tijcolem tijcolem merged commit 55076d4 into develop Aug 17, 2020
@tijcolem tijcolem deleted the conan_pin_deps branch August 17, 2020 17:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Developer Issue Pull Request - Ready for CI This pull request if finalized and is ready for continuous integration verification prior to merge.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants