mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-04 11:15:56 +00:00
55 lines
1.8 KiB
YAML
55 lines
1.8 KiB
YAML
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 }} \
|
|
..
|