Compare commits

..

2 Commits

Author SHA1 Message Date
JCW
c378ede9c7 Use new ec2 macos runner
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-07-21 11:53:14 +01:00
JCW
59e09b1ac3 Use new ec2 macos runner
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-07-21 11:50:14 +01:00
9 changed files with 27 additions and 32 deletions

View File

@@ -24,7 +24,7 @@ runs:
echo "Added conan remote ripple at ${CONAN_URL}" echo "Added conan remote ripple at ${CONAN_URL}"
- name: try to authenticate to Ripple Conan remote - name: try to authenticate to Ripple Conan remote
if: env.CONAN_URL != '' && env.CONAN_LOGIN_USERNAME_RIPPLE != '' && env.CONAN_PASSWORD_RIPPLE != '' if: env.CONAN_LOGIN_USERNAME_RIPPLE != '' && env.CONAN_PASSWORD_RIPPLE != ''
id: remote id: remote
shell: bash shell: bash
run: | run: |

View File

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

View File

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

View File

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

View File

@@ -21,14 +21,12 @@ concurrency:
# This part of Conan configuration is specific to this workflow only; we do not want # 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 # to pollute conan/profiles directory with settings which might not work for others
env: 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_LOGIN_USERNAME_RIPPLE: ${{ secrets.CONAN_USERNAME }}
CONAN_PASSWORD_RIPPLE: ${{ secrets.CONAN_TOKEN }} CONAN_PASSWORD_RIPPLE: ${{ secrets.CONAN_TOKEN }}
CONAN_GLOBAL_CONF: | CONAN_GLOBAL_CONF: |
core.download:parallel={{os.cpu_count()}} core.download:parallel={{os.cpu_count()}}
core.upload: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:jobs=24
tools.build:verbosity=verbose tools.build:verbosity=verbose
tools.compilation:verbosity=verbose tools.compilation:verbosity=verbose
@@ -42,7 +40,7 @@ jobs:
matrix: matrix:
version: version:
- generator: Visual Studio 17 2022 - generator: Visual Studio 17 2022
runs-on: windows-2022 runs-on: [self-hosted, Windows, devbox]
configuration: configuration:
- type: Release - type: Release
tests: true tests: true
@@ -84,7 +82,8 @@ jobs:
- name: configure Conan - name: configure Conan
shell: bash shell: bash
run: | run: |
echo "${CONAN_GLOBAL_CONF}" >> $(conan config home)/global.conf echo "${CONAN_GLOBAL_CONF}" > global.conf
mv conan/profiles/libxrpl conan/profiles/default
conan config install conan/profiles/ -tf $(conan config home)/profiles/ conan config install conan/profiles/ -tf $(conan config home)/profiles/
conan profile show conan profile show
- name: export custom recipes - name: export custom recipes

View File

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

View File

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

View File

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

View File

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