Compare commits

...

25 Commits

Author SHA1 Message Date
JCW
2a9d6239ee Test
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-07-22 17:18:26 +01:00
JCW
05d8e96bd0 Test
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-07-22 17:17:54 +01:00
JCW
fc52d554a7 Test
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-07-22 17:15:13 +01:00
JCW
8336a0d915 Test
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-07-22 17:12:34 +01:00
JCW
0719c51319 Test
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-07-22 17:09:59 +01:00
JCW
74c82707f0 Test
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-07-22 17:05:53 +01:00
JCW
d8e91c0d35 Test
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-07-22 17:02:37 +01:00
JCW
cadd32fd94 Test
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-07-22 17:02:25 +01:00
JCW
850bb47805 Test
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-07-22 16:59:15 +01:00
JCW
d92d09a1df Test
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-07-22 16:57:55 +01:00
JCW
ef512abbf7 Test
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-07-22 16:56:58 +01:00
JCW
c0a83faddf Test
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-07-22 16:27:41 +01:00
JCW
257ebca4fe Test
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-07-22 16:25:25 +01:00
JCW
313ed535a7 Test
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-07-22 16:21:40 +01:00
JCW
de9d050e52 Test
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-07-22 16:20:21 +01:00
Bart Thomee
95a8d84f1f Temporarily compile using Clang 17 2025-07-22 10:44:19 -04:00
Bart Thomee
5a2004332b Temporarily compile using Clang 17 2025-07-22 10:32:26 -04:00
Bart Thomee
9a56a5b788 Temporarily disable ripple remote 2025-07-21 17:45:16 -04:00
Bart Thomee
605c8bd377 Temporarily disable ripple remote 2025-07-21 17:10:19 -04:00
Bart Thomee
900131d09f Temporarily disable ripple remote 2025-07-21 16:36:24 -04:00
Bart Thomee
01bdb87b39 Explicitly specify version of abseil to use 2025-07-21 16:13:24 -04:00
Bart Thomee
274a7303ff Updates protobuf and grpc 2025-07-21 15:14:56 -04:00
Bronek Kozicki
03e46cd026 Remove include(default) from libxrpl profile (#5587)
Remove `include(default)` from `conan/profiles/libxrpl`. This means that we will now rely on compiler workarounds stored elsewhere e.g. in global.conf.
2025-07-21 14:03:53 +00:00
Vito Tumas
e95683a0fb refactor: Change boost::shared_mutex to std::shared_mutex (#5576)
This change reverts the usage of boost::shared_mutex back to std::shared_mutex. The change was originally introduced as a workaround for a bug in glibc 2.28 and older versions, which could cause threads using std::shared_mutex to stall. This issue primarily affected Ubuntu 18.04 and earlier distributions, which we no longer support.
2025-07-21 13:14:22 +00:00
Jingchen
13353ae36d Fix macos runner (#5585)
This change fixes the MacOS pipeline issue by limiting GitHub to choose the existing runners, ensuring the new experimental runners are excluded until they are ready.
2025-07-21 12:22:32 +00:00
9 changed files with 30 additions and 25 deletions

View File

@@ -24,7 +24,7 @@ runs:
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 != ''
if: env.CONAN_URL != '' && env.CONAN_LOGIN_USERNAME_RIPPLE != '' && env.CONAN_PASSWORD_RIPPLE != ''
id: remote
shell: bash
run: |

View File

@@ -21,6 +21,10 @@ jobs:
shell: bash
run: |
set -o pipefail
pwd
whoami
ls -la .git
git branch
git diff --exit-code | tee "clang-format.patch"
- name: Upload patch
if: failure() && steps.assert.outcome == 'failure'

View File

@@ -18,12 +18,14 @@ concurrency:
# This part of Conan configuration is specific to this workflow only; we do not want
# to pollute conan/profiles directory with settings which might not work for others
env:
CONAN_URL: http://18.143.149.228:8081/artifactory/api/conan/dev
#CONAN_URL: http://18.143.149.228:8081/artifactory/api/conan/dev
CONAN_LOGIN_USERNAME_RIPPLE: ${{ secrets.CONAN_USERNAME }}
CONAN_PASSWORD_RIPPLE: ${{ secrets.CONAN_TOKEN }}
CONAN_GLOBAL_CONF: |
core.download:parallel={{os.cpu_count()}}
core.upload:parallel={{os.cpu_count()}}
core:default_build_profile=libxrpl
core:default_profile=libxrpl
tools.build:jobs={{ (os.cpu_count() * 4/5) | int }}
tools.build:verbosity=verbose
tools.compilation:verbosity=verbose
@@ -40,7 +42,7 @@ jobs:
- Ninja
configuration:
- Release
runs-on: [self-hosted, macOS]
runs-on: [self-hosted, macOS, mac-runner-m1]
env:
# The `build` action requires these variables.
build_dir: .build
@@ -87,7 +89,7 @@ jobs:
clang --version
- name: configure Conan
run : |
echo "${CONAN_GLOBAL_CONF}" > global.conf
echo "${CONAN_GLOBAL_CONF}" >> $(conan config home)/global.conf
conan config install conan/profiles/ -tf $(conan config home)/profiles/
conan profile show
- name: export custom recipes

View File

@@ -19,12 +19,14 @@ concurrency:
# This part of Conan configuration is specific to this workflow only; we do not want
# to pollute conan/profiles directory with settings which might not work for others
env:
CONAN_URL: http://18.143.149.228:8081/artifactory/api/conan/dev
#CONAN_URL: http://18.143.149.228:8081/artifactory/api/conan/dev
CONAN_LOGIN_USERNAME_RIPPLE: ${{ secrets.CONAN_USERNAME }}
CONAN_PASSWORD_RIPPLE: ${{ secrets.CONAN_TOKEN }}
CONAN_GLOBAL_CONF: |
core.download:parallel={{ os.cpu_count() }}
core.upload:parallel={{ os.cpu_count() }}
core:default_build_profile=libxrpl
core:default_profile=libxrpl
tools.build:jobs={{ (os.cpu_count() * 4/5) | int }}
tools.build:verbosity=verbose
tools.compilation:verbosity=verbose
@@ -71,7 +73,7 @@ jobs:
distro: ubuntu
codename: jammy
- compiler: clang
compiler_version: 16
compiler_version: 17
distro: debian
codename: bookworm
runs-on: [self-hosted, heavy]
@@ -91,7 +93,8 @@ jobs:
env | sort
- name: configure Conan
run: |
echo "${CONAN_GLOBAL_CONF}" >> ${CONAN_HOME}/global.conf
echo "${CONAN_GLOBAL_CONF}" >> $(conan config home)/global.conf
conan config install conan/profiles/ -tf $(conan config home)/profiles/
conan profile show
- name: archive profile
# Create this archive before dependencies are added to the local cache.
@@ -126,7 +129,7 @@ jobs:
distro: ubuntu
codename: jammy
- compiler: clang
compiler_version: 16
compiler_version: 17
distro: debian
codename: bookworm
cmake-args:
@@ -362,10 +365,8 @@ jobs:
instrumentation-build:
if: ${{ github.event_name == 'push' || github.event.pull_request.draft != true || contains(github.event.pull_request.labels.*.name, 'DraftRunCI') }}
env:
CLANG_RELEASE: 16
runs-on: [self-hosted, heavy]
container: ghcr.io/xrplf/ci/debian-bookworm:clang-16
container: ghcr.io/xrplf/ci/debian-bookworm:clang-17
steps:
- name: checkout
@@ -379,7 +380,8 @@ jobs:
- name: configure Conan
run: |
echo "${CONAN_GLOBAL_CONF}" >> ${CONAN_HOME}/global.conf
echo "${CONAN_GLOBAL_CONF}" >> $(conan config home)/global.conf
conan config install conan/profiles/ -tf $(conan config home)/profiles/
conan profile show
- name: build dependencies
run: |

View File

@@ -21,12 +21,14 @@ concurrency:
# This part of Conan configuration is specific to this workflow only; we do not want
# to pollute conan/profiles directory with settings which might not work for others
env:
CONAN_URL: http://18.143.149.228:8081/artifactory/api/conan/dev
#CONAN_URL: http://18.143.149.228:8081/artifactory/api/conan/dev
CONAN_LOGIN_USERNAME_RIPPLE: ${{ secrets.CONAN_USERNAME }}
CONAN_PASSWORD_RIPPLE: ${{ secrets.CONAN_TOKEN }}
CONAN_GLOBAL_CONF: |
core.download:parallel={{os.cpu_count()}}
core.upload:parallel={{os.cpu_count()}}
core:default_build_profile=libxrpl
core:default_profile=libxrpl
tools.build:jobs=24
tools.build:verbosity=verbose
tools.compilation:verbosity=verbose
@@ -82,8 +84,7 @@ jobs:
- name: configure Conan
shell: bash
run: |
echo "${CONAN_GLOBAL_CONF}" > global.conf
mv conan/profiles/libxrpl conan/profiles/default
echo "${CONAN_GLOBAL_CONF}" >> $(conan config home)/global.conf
conan config install conan/profiles/ -tf $(conan config home)/profiles/
conan profile show
- name: export custom recipes

View File

@@ -6,10 +6,6 @@
{% set compiler_version = detect_api.default_compiler_version(compiler, version) %}
{% endif %}
{% if os == "Linux" %}
include(default)
{% endif %}
[settings]
os={{ os }}
arch={{ arch }}

View File

@@ -24,7 +24,7 @@ class Xrpl(ConanFile):
}
requires = [
'grpc/1.50.1',
'grpc/1.72.0',
'libarchive/3.8.1',
'nudb/2.0.9',
'openssl/1.1.1w',
@@ -37,7 +37,7 @@ class Xrpl(ConanFile):
]
tool_requires = [
'protobuf/3.21.12',
'protobuf/6.30.1',
]
default_options = {
@@ -107,7 +107,7 @@ class Xrpl(ConanFile):
self.requires('boost/1.83.0', force=True, **transitive_headers_opt)
self.requires('date/3.0.4', **transitive_headers_opt)
self.requires('lz4/1.10.0', force=True)
self.requires('protobuf/3.21.12', force=True)
self.requires('protobuf/6.30.1', force=True)
self.requires('sqlite3/3.49.1', force=True)
if self.options.jemalloc:
self.requires('jemalloc/5.3.0')

View File

@@ -226,7 +226,7 @@ class ValidatorList
TimeKeeper& timeKeeper_;
boost::filesystem::path const dataPath_;
beast::Journal const j_;
boost::shared_mutex mutable mutex_;
std::shared_mutex mutable mutex_;
using lock_guard = std::lock_guard<decltype(mutex_)>;
using shared_lock = std::shared_lock<decltype(mutex_)>;

View File

@@ -98,7 +98,7 @@ private:
// Node public key of peer.
PublicKey const publicKey_;
std::string name_;
boost::shared_mutex mutable nameMutex_;
std::shared_mutex mutable nameMutex_;
// The indices of the smallest and largest ledgers this peer has available
//
@@ -214,7 +214,7 @@ private:
total_bytes() const;
private:
boost::shared_mutex mutable mutex_;
std::shared_mutex mutable mutex_;
boost::circular_buffer<std::uint64_t> rollingAvg_{30, 0ull};
clock_type::time_point intervalStart_{clock_type::now()};
std::uint64_t totalBytes_{0};