mirror of
				https://github.com/XRPLF/rippled.git
				synced 2025-11-04 11:15:56 +00:00 
			
		
		
		
	Updates RocksDB to version 9.7.3, the latest version supported in Conan 1.x. A patch for 9.7.4 that fixes a memory leak is included.
		
			
				
	
	
		
			58 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: dependencies
 | 
						|
inputs:
 | 
						|
  configuration:
 | 
						|
    required: true
 | 
						|
# An implicit input is the environment variable `build_dir`.
 | 
						|
runs:
 | 
						|
  using: composite
 | 
						|
  steps:
 | 
						|
    - name: unlock Conan
 | 
						|
      shell: bash
 | 
						|
      run: conan remove --locks
 | 
						|
    - name: export custom recipes
 | 
						|
      shell: bash
 | 
						|
      run: |
 | 
						|
        conan config set general.revisions_enabled=1
 | 
						|
        conan export external/snappy snappy/1.1.10@
 | 
						|
        conan export external/rocksdb rocksdb/9.7.3@
 | 
						|
        conan export external/soci soci/4.0.3@
 | 
						|
        conan export external/nudb nudb/2.0.8@
 | 
						|
    - name: add Ripple Conan remote
 | 
						|
      shell: bash
 | 
						|
      run: |
 | 
						|
        conan remote list
 | 
						|
        conan remote remove ripple || true
 | 
						|
        # Do not quote the URL. An empty string will be accepted (with
 | 
						|
        # a non-fatal warning), but a missing argument will not.
 | 
						|
        conan remote add ripple ${{ env.CONAN_URL }} --insert 0
 | 
						|
    - name: try to authenticate to Ripple Conan remote
 | 
						|
      id: remote
 | 
						|
      shell: bash
 | 
						|
      run: |
 | 
						|
        # `conan user` implicitly uses the environment variables
 | 
						|
        # CONAN_LOGIN_USERNAME_<REMOTE> and CONAN_PASSWORD_<REMOTE>.
 | 
						|
        # https://docs.conan.io/1/reference/commands/misc/user.html#using-environment-variables
 | 
						|
        # https://docs.conan.io/1/reference/env_vars.html#conan-login-username-conan-login-username-remote-name
 | 
						|
        # https://docs.conan.io/1/reference/env_vars.html#conan-password-conan-password-remote-name
 | 
						|
        echo outcome=$(conan user --remote ripple --password >&2 \
 | 
						|
          && echo success || echo failure) | tee ${GITHUB_OUTPUT}
 | 
						|
    - 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 tests=True \
 | 
						|
          --options xrpld=True \
 | 
						|
          --settings build_type=${{ inputs.configuration }} \
 | 
						|
          ..
 |