Search code examples
jenkinscontinuous-integrationartifactoryconan

Any way for conan to automatically upload package to artifactory IF it was just built with --build=missing


if a package was freshly built with the --build=missing I want to cache the package into our local artifactory server

For instance, the build of grpc 32 bit that our jenkins is performing takes 40-60 minutes, and we want to only run it once for a given version of grpc

Any way to achieve this?


Solution

  • The package-list feature can capture the result of a build, create a list of packages that can be provided to the conan upload command.

    Something like:

    # the build
    $conan install --requires="spdlog/[*]" --build="*" --format=json > build.json
    
    # creating a package list from the dependency graph from the build
    $ conan list --graph=build.json --graph-binaries=build --format=json > pkglist.json
    
    # uploading the package list
    $ conan upload --list=pkglist.json -r=myremote -c
    

    More details in https://blog.conan.io/2023/06/28/Conan-bulk-package-operations.html