[question] CI builds fail if recipe has not changed
See original GitHub issueCurrently, our CI pipeline consists of source pull, restore (conan install), build/test (conan build), package (conan export-pkg), publish (conan publish), and finalize stages. If someone kicks off a build more than once accidentally, the first build job goes through all stages just fine but each subsequent job fails due to a stderr when conan export-pkg
is run. The packaging step fails because the recipe/package already exists in conan cache.
Once this failing job has happened, our PRs are unable to satisfy build checks. Our developers then attempt to rebuild failing each time until I either skip the package/publish steps or force overwrite (which I avoid and don’t ever need in any other case as we use revisions). Is there a recommended way to prevent a hard fail if the recipe/package is present and has not changed? Or maybe some way to check whether they differ prior and only export-pkg if they are different?
Conan version: 1.45.0
- I’ve read the CONTRIBUTING guide.
Issue Analytics
- State:
- Created a year ago
- Comments:7 (3 by maintainers)
An important note about this:
conan copy
has been removed from Conan 2.0. Packages must be immutable, andconan copy
is violating that. To implement “stages” the recommended way is to leave the packages user/channel constant, and use different remote repositories, and run promotions (copies) from one remote repository to another one.should I create a new issue and try to give more detailed reproduction steps? I don’t see how the
--build=missing:<pattern>
feature is relevant here.