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}"
- 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
shell: bash
run: |

View File

@@ -21,10 +21,6 @@ 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,14 +18,12 @@ 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
@@ -42,7 +40,7 @@ jobs:
- Ninja
configuration:
- Release
runs-on: [self-hosted, macOS, mac-runner-m1]
runs-on: [self-hosted, macOS, devbox]
env:
# The `build` action requires these variables.
build_dir: .build
@@ -89,7 +87,7 @@ jobs:
clang --version
- name: configure Conan
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 profile show
- 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
# 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
@@ -73,10 +71,10 @@ jobs:
distro: ubuntu
codename: jammy
- compiler: clang
compiler_version: 17
compiler_version: 16
distro: debian
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 }}
env:
build_dir: .build
@@ -93,8 +91,7 @@ jobs:
env | sort
- name: configure Conan
run: |
echo "${CONAN_GLOBAL_CONF}" >> $(conan config home)/global.conf
conan config install conan/profiles/ -tf $(conan config home)/profiles/
echo "${CONAN_GLOBAL_CONF}" >> ${CONAN_HOME}/global.conf
conan profile show
- name: archive profile
# Create this archive before dependencies are added to the local cache.
@@ -129,7 +126,7 @@ jobs:
distro: ubuntu
codename: jammy
- compiler: clang
compiler_version: 17
compiler_version: 16
distro: debian
codename: bookworm
cmake-args:
@@ -365,8 +362,10 @@ 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-17
container: ghcr.io/xrplf/ci/debian-bookworm:clang-16
steps:
- name: checkout
@@ -380,8 +379,7 @@ jobs:
- name: configure Conan
run: |
echo "${CONAN_GLOBAL_CONF}" >> $(conan config home)/global.conf
conan config install conan/profiles/ -tf $(conan config home)/profiles/
echo "${CONAN_GLOBAL_CONF}" >> ${CONAN_HOME}/global.conf
conan profile show
- name: build dependencies
run: |

View File

@@ -21,14 +21,12 @@ 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
@@ -42,7 +40,7 @@ jobs:
matrix:
version:
- generator: Visual Studio 17 2022
runs-on: windows-2022
runs-on: [self-hosted, Windows, devbox]
configuration:
- type: Release
tests: true
@@ -84,7 +82,8 @@ jobs:
- name: configure Conan
shell: bash
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 profile show
- name: export custom recipes

View File

@@ -6,6 +6,10 @@
{% 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.72.0',
'grpc/1.50.1',
'libarchive/3.8.1',
'nudb/2.0.9',
'openssl/1.1.1w',
@@ -37,7 +37,7 @@ class Xrpl(ConanFile):
]
tool_requires = [
'protobuf/6.30.1',
'protobuf/3.21.12',
]
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/6.30.1', force=True)
self.requires('protobuf/3.21.12', 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_;
std::shared_mutex mutable mutex_;
boost::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_;
std::shared_mutex mutable nameMutex_;
boost::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:
std::shared_mutex mutable mutex_;
boost::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};