name: dependencies inputs: configuration: required: true # An implicit input is the environment variable `build_dir`. runs: using: composite steps: - name: export custom recipes shell: bash run: | conan export --version 1.1.10 external/snappy conan export --version 9.7.3 external/rocksdb conan export --version 4.0.3 external/soci conan export --version 2.0.8 external/nudb - name: add Ripple Conan remote if: env.CONAN_URL != '' shell: bash run: | if conan remote list | grep -q "ripple"; then conan remote remove ripple echo "Removed conan remote ripple" fi conan remote add --index 0 ripple "${CONAN_URL}" echo "Added conan remote ripple at ${CONAN_URL}" - name: try to authenticate to Ripple Conan remote if: env.CONAN_LOGIN_USERNAME_RIPPLE != '' && env.CONAN_PASSWORD_RIPPLE != '' id: remote shell: bash run: | echo "Authenticating to ripple remote..." conan remote auth ripple --force conan remote list-users - name: list missing binaries id: binaries shell: bash # Print the list of dependencies that would need to be built locally. # A non-empty list means we have "failed" to cache binaries remotely. run: | echo missing=$(conan info . --build missing --settings build_type=${{ inputs.configuration }} --json 2>/dev/null | grep '^\[') | tee ${GITHUB_OUTPUT} - name: install dependencies shell: bash run: | mkdir ${build_dir} cd ${build_dir} conan install \ --output-folder . \ --build missing \ --options:host "&:tests=True" \ --options:host "&:xrpld=True" \ --settings:all build_type=${{ inputs.configuration }} \ ..