Skip to content

Commit 96ad348

Browse files
committed
Merge branch 'ximinez/lending-refactoring-2' into ximinez/lending-refactoring-3
* ximinez/lending-refactoring-2: (57 commits) Fix formatting Remove `include(default)` from libxrpl profile (#5587) refactor: Change boost::shared_mutex to std::shared_mutex (#5576) Fix macos runner (#5585) Remove the type filter from "ledger" RPC command (#4934) refactor: Update date, libarchive, nudb, openssl, sqlite3, xxhash packages (#5567) test: Run unit tests regardless of 'Supported' amendment status (#5537) Retire Flow Cross amendment (#5562) chore: Update CI to use Conan 2 (#5556) fixAMMClawbackRounding: adjust last holder's LPToken balance (#5513) chore: Add gcc-12 workaround (#5554) Add MPT related txns into issuer's account history (#5530) chore: Remove unused headers (#5526) fix: add allowTrustLineLocking flag for account_info (#5525) Downgrade required CMake version for Antithesis SDK (#5548) fix: Link with boost libraries explicitly (#5546) chore: Fix compilation error with clang-20 and cleanup (#5543) test: Remove circular jtx.h dependencies (#5544) Decouple CredentialHelpers from xrpld/app/tx (#5487) fix: crash when trace-logging in tests (#5529) ...
2 parents 4fe3ec8 + 72f33d8 commit 96ad348

File tree

353 files changed

+24921
-9978
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

353 files changed

+24921
-9978
lines changed

.codecov.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ comment:
77
show_carryforward_flags: false
88

99
coverage:
10-
range: "60..80"
10+
range: "70..85"
1111
precision: 1
1212
round: nearest
1313
status:
1414
project:
1515
default:
16-
target: 60%
16+
target: 75%
1717
threshold: 2%
1818
patch:
1919
default:

.github/actions/dependencies/action.yml

Lines changed: 19 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,36 +6,32 @@ inputs:
66
runs:
77
using: composite
88
steps:
9-
- name: unlock Conan
10-
shell: bash
11-
run: conan remove --locks
129
- name: export custom recipes
1310
shell: bash
1411
run: |
15-
conan config set general.revisions_enabled=1
16-
conan export external/snappy snappy/1.1.10@
17-
conan export external/rocksdb rocksdb/9.7.3@
18-
conan export external/soci soci/4.0.3@
19-
conan export external/nudb nudb/2.0.8@
12+
conan export --version 1.1.10 external/snappy
13+
conan export --version 9.7.3 external/rocksdb
14+
conan export --version 4.0.3 external/soci
2015
- name: add Ripple Conan remote
16+
if: env.CONAN_URL != ''
2117
shell: bash
2218
run: |
23-
conan remote list
24-
conan remote remove ripple || true
25-
# Do not quote the URL. An empty string will be accepted (with
26-
# a non-fatal warning), but a missing argument will not.
27-
conan remote add ripple ${{ env.CONAN_URL }} --insert 0
19+
if conan remote list | grep -q "ripple"; then
20+
conan remote remove ripple
21+
echo "Removed conan remote ripple"
22+
fi
23+
conan remote add --index 0 ripple "${CONAN_URL}"
24+
echo "Added conan remote ripple at ${CONAN_URL}"
25+
2826
- name: try to authenticate to Ripple Conan remote
27+
if: env.CONAN_LOGIN_USERNAME_RIPPLE != '' && env.CONAN_PASSWORD_RIPPLE != ''
2928
id: remote
3029
shell: bash
3130
run: |
32-
# `conan user` implicitly uses the environment variables
33-
# CONAN_LOGIN_USERNAME_<REMOTE> and CONAN_PASSWORD_<REMOTE>.
34-
# https://docs.conan.io/1/reference/commands/misc/user.html#using-environment-variables
35-
# https://docs.conan.io/1/reference/env_vars.html#conan-login-username-conan-login-username-remote-name
36-
# https://docs.conan.io/1/reference/env_vars.html#conan-password-conan-password-remote-name
37-
echo outcome=$(conan user --remote ripple --password >&2 \
38-
&& echo success || echo failure) | tee ${GITHUB_OUTPUT}
31+
echo "Authenticating to ripple remote..."
32+
conan remote auth ripple --force
33+
conan remote list-users
34+
3935
- name: list missing binaries
4036
id: binaries
4137
shell: bash
@@ -51,7 +47,7 @@ runs:
5147
conan install \
5248
--output-folder . \
5349
--build missing \
54-
--options tests=True \
55-
--options xrpld=True \
56-
--settings build_type=${{ inputs.configuration }} \
50+
--options:host "&:tests=True" \
51+
--options:host "&:xrpld=True" \
52+
--settings:all build_type=${{ inputs.configuration }} \
5753
..

.github/workflows/clang-format.yml

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,16 @@ jobs:
99
check:
1010
if: ${{ github.event_name == 'push' || github.event.pull_request.draft != true || contains(github.event.pull_request.labels.*.name, 'DraftRunCI') }}
1111
runs-on: ubuntu-24.04
12-
env:
13-
CLANG_VERSION: 18
12+
container: ghcr.io/xrplf/ci/tools-rippled-clang-format
1413
steps:
1514
- uses: actions/checkout@v4
16-
- name: Install clang-format
17-
run: |
18-
codename=$( lsb_release --codename --short )
19-
sudo tee /etc/apt/sources.list.d/llvm.list >/dev/null <<EOF
20-
deb http://apt.llvm.org/${codename}/ llvm-toolchain-${codename}-${CLANG_VERSION} main
21-
deb-src http://apt.llvm.org/${codename}/ llvm-toolchain-${codename}-${CLANG_VERSION} main
22-
EOF
23-
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add
24-
sudo apt-get update
25-
sudo apt-get install clang-format-${CLANG_VERSION}
2615
- name: Format first-party sources
27-
run: find include src tests -type f \( -name '*.cpp' -o -name '*.hpp' -o -name '*.h' -o -name '*.ipp' \) -exec clang-format-${CLANG_VERSION} -i {} +
16+
run: |
17+
clang-format --version
18+
find include src tests -type f \( -name '*.cpp' -o -name '*.hpp' -o -name '*.h' -o -name '*.ipp' \) -exec clang-format -i {} +
2819
- name: Check for differences
2920
id: assert
21+
shell: bash
3022
run: |
3123
set -o pipefail
3224
git diff --exit-code | tee "clang-format.patch"
@@ -58,6 +50,6 @@ jobs:
5850
in your repo, commit, and push.
5951
run: |
6052
echo "${PREAMBLE}"
61-
clang-format-${CLANG_VERSION} --version
53+
clang-format --version
6254
echo "${SUGGESTION}"
6355
exit 1

.github/workflows/doxygen.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ concurrency:
1010
cancel-in-progress: true
1111

1212
jobs:
13-
job:
13+
documentation:
1414
runs-on: ubuntu-latest
1515
permissions:
1616
contents: write

.github/workflows/libxrpl.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: Check libXRPL compatibility with Clio
22
env:
3-
CONAN_URL: http://18.143.149.228:8081/artifactory/api/conan/conan-non-prod
3+
CONAN_URL: http://18.143.149.228:8081/artifactory/api/conan/dev
44
CONAN_LOGIN_USERNAME_RIPPLE: ${{ secrets.CONAN_USERNAME }}
55
CONAN_PASSWORD_RIPPLE: ${{ secrets.CONAN_TOKEN }}
66
on:

.github/workflows/macos.yml

Lines changed: 41 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,20 @@ on:
1515
concurrency:
1616
group: ${{ github.workflow }}-${{ github.ref }}
1717
cancel-in-progress: true
18+
# This part of Conan configuration is specific to this workflow only; we do not want
19+
# to pollute conan/profiles directory with settings which might not work for others
20+
env:
21+
CONAN_URL: http://18.143.149.228:8081/artifactory/api/conan/dev
22+
CONAN_LOGIN_USERNAME_RIPPLE: ${{ secrets.CONAN_USERNAME }}
23+
CONAN_PASSWORD_RIPPLE: ${{ secrets.CONAN_TOKEN }}
24+
CONAN_GLOBAL_CONF: |
25+
core.download:parallel={{os.cpu_count()}}
26+
core.upload:parallel={{os.cpu_count()}}
27+
core:default_build_profile=libxrpl
28+
core:default_profile=libxrpl
29+
tools.build:jobs={{ (os.cpu_count() * 4/5) | int }}
30+
tools.build:verbosity=verbose
31+
tools.compilation:verbosity=verbose
1832
1933
jobs:
2034

@@ -28,23 +42,22 @@ jobs:
2842
- Ninja
2943
configuration:
3044
- Release
31-
runs-on: [self-hosted, macOS]
45+
runs-on: [self-hosted, macOS, mac-runner-m1]
3246
env:
3347
# The `build` action requires these variables.
3448
build_dir: .build
3549
NUM_PROCESSORS: 12
3650
steps:
3751
- name: checkout
38-
uses: actions/checkout@v4
52+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
3953
- name: install Conan
4054
run: |
41-
brew install conan@1
42-
echo '/opt/homebrew/opt/conan@1/bin' >> $GITHUB_PATH
55+
brew install conan
4356
- name: install Ninja
4457
if: matrix.generator == 'Ninja'
4558
run: brew install ninja
4659
- name: install python
47-
run: |
60+
run: |
4861
if which python > /dev/null 2>&1; then
4962
echo "Python executable exists"
5063
else
@@ -76,14 +89,27 @@ jobs:
7689
clang --version
7790
- name: configure Conan
7891
run : |
79-
conan profile new default --detect || true
80-
conan profile update settings.compiler.cppstd=20 default
92+
echo "${CONAN_GLOBAL_CONF}" >> $(conan config home)/global.conf
93+
conan config install conan/profiles/ -tf $(conan config home)/profiles/
94+
conan profile show
95+
- name: export custom recipes
96+
shell: bash
97+
run: |
98+
conan export --version 1.1.10 external/snappy
99+
conan export --version 9.7.3 external/rocksdb
100+
conan export --version 4.0.3 external/soci
101+
- name: add Ripple Conan remote
102+
if: env.CONAN_URL != ''
103+
shell: bash
104+
run: |
105+
if conan remote list | grep -q "ripple"; then
106+
conan remote remove ripple
107+
echo "Removed conan remote ripple"
108+
fi
109+
conan remote add --index 0 ripple "${CONAN_URL}"
110+
echo "Added conan remote ripple at ${CONAN_URL}"
81111
- name: build dependencies
82112
uses: ./.github/actions/dependencies
83-
env:
84-
CONAN_URL: http://18.143.149.228:8081/artifactory/api/conan/conan-non-prod
85-
CONAN_LOGIN_USERNAME_RIPPLE: ${{ secrets.CONAN_USERNAME }}
86-
CONAN_PASSWORD_RIPPLE: ${{ secrets.CONAN_TOKEN }}
87113
with:
88114
configuration: ${{ matrix.configuration }}
89115
- name: build
@@ -96,4 +122,7 @@ jobs:
96122
run: |
97123
n=$(nproc)
98124
echo "Using $n test jobs"
99-
${build_dir}/rippled --unittest --unittest-jobs $n
125+
126+
cd ${build_dir}
127+
./rippled --unittest --unittest-jobs $n
128+
ctest -j $n --output-on-failure

0 commit comments

Comments
 (0)