Commit Graph

13824 Commits

Author SHA1 Message Date
Nicholas Dudfield
c730e1d5f0 fix: gcc stdlib flag, add dynamic matrix with [ci-nix-full-matrix]
- GCC doesn't recognize -stdlib flag (it's Clang-specific)
- Added dynamic matrix generation for branch-based CI control
- Main branches (dev/release/candidate) run all 5 compiler configs
- Feature branches and PRs run only gcc-13 and clang-17
- [ci-nix-full-matrix] tag forces full matrix on any branch
- Uses inline Python script in matrix-setup job
2025-08-19 11:38:14 +07:00
Nicholas Dudfield
9bf2bc0420 ci: add clang-17 with native libc++ to build matrix 2025-08-19 11:07:58 +07:00
Nicholas Dudfield
be1a34c7e9 ci: add gcc-11 and reinstate gcc-13 in build matrix 2025-08-19 11:06:19 +07:00
Nicholas Dudfield
06b4344cc0 fix: use -lt 16 check for gcc hiding, update compiler-id docs 2025-08-19 10:46:55 +07:00
Nicholas Dudfield
7a11eb6c15 docs: clarify gcc hiding trick is for clang < 16 2025-08-18 21:24:57 +07:00
Nicholas Dudfield
c1a35510f4 fix: install gcc before hiding versions, add verification 2025-08-18 21:19:27 +07:00
Nicholas Dudfield
7c4b1bafeb fix: install target gcc version before hiding others 2025-08-18 21:12:19 +07:00
Nicholas Dudfield
ccfa6da70a fix: use integer renaming for hidden gcc versions 2025-08-18 21:09:49 +07:00
Nicholas Dudfield
139f1bd32b ci: use directory hiding for clang-14 and --gcc-install-dir for clang-16+ 2025-08-18 21:05:58 +07:00
Nicholas Dudfield
a3b00d57a2 docs: clarify compiler_id includes gcc version for clang builds 2025-08-18 20:44:40 +07:00
Nicholas Dudfield
b822b66825 ci: simplify gcc toolchain logic - no update-alternatives needed 2025-08-18 20:34:49 +07:00
Nicholas Dudfield
6684075a28 ci: remove gcc-14-base to prevent header conflicts 2025-08-18 20:27:49 +07:00
Nicholas Dudfield
cc28fcf190 ci: remove gcc-14 and add clang-14 with gcc-11 test
- Add clang-14-libstdcxx-gcc11 matrix entry for testing
- Remove gcc-14 to prevent Clang from finding it
- Add diagnostic to show which headers Clang will use
- Test both gcc-11 and gcc-13 with clang-14
2025-08-18 20:19:26 +07:00
Nicholas Dudfield
ddca64815d ci: simplify by using update-alternatives instead of gcc-install-dir
- Keep clang_gcc_toolchain to control which GCC to install
- Use update-alternatives to set system default GCC
- Remove complex --gcc-install-dir flag from CMAKE_CXX_FLAGS
- Clang automatically uses the default GCC's headers
2025-08-18 20:15:30 +07:00
Nicholas Dudfield
60df462bc2 fix: properly quote CMAKE_CXX_FLAGS with spaces 2025-08-18 19:41:21 +07:00
Nicholas Dudfield
4755a37cad ci: add clang_gcc_toolchain support for header compatibility
- Clang 14 uses GCC 11 toolchain to avoid GCC 14 header issues
- Clang 16 uses GCC 13 toolchain for better compatibility
- Use --gcc-install-dir to specify exact GCC version
- Fixes consteval and ranges concept errors with newer libstdc++
2025-08-18 18:51:38 +07:00
Nicholas Dudfield
df652b457b ci: include stdlib in compiler_id for cache keys
- compiler_id now includes stdlib (e.g. clang-14-libstdcxx)
- Cache keys are self-documenting without redundant stdlib param
- Actions still receive stdlib for Conan/CMake configuration
- Added documentation explaining matrix key purposes
2025-08-18 18:37:20 +07:00
Nicholas Dudfield
0651332bb3 refactor: use clear stdlib naming instead of force_libstdcpp
- Rename force_libstdcpp to stdlib with values libstdcxx/libcxx
- Make stdlib a required enum field with validation
- Update cache keys to be self-documenting (e.g. clang-14-libstdcxx)
- Cleaner, more intuitive configuration flow
2025-08-18 18:21:42 +07:00
Nicholas Dudfield
5286bae753 ci: fix cache key to include stdlib choice 2025-08-18 18:12:11 +07:00
Nicholas Dudfield
4b9ef8db22 ci: move force_libstdcpp to matrix-level property 2025-08-18 18:07:39 +07:00
Nicholas Dudfield
360546d555 ci: add clang-14 to matrix, temporarily disable gcc 2025-08-18 18:04:31 +07:00
Nicholas Dudfield
4efcbd1eaa ci: add option to use libstdc++ with clang-16 2025-08-18 18:00:51 +07:00
Nicholas Dudfield
4c90598462 ci: add clang to build matrix 2025-08-18 16:58:09 +07:00
Niq Dudfield
7a790246fb fix: upgrade CI to GCC 13 and fix compilation issues, fixes #557 (#559) 2025-08-14 17:41:49 +10:00
Niq Dudfield
1a3d2db8ef fix(ci): export correct snappy version (#546) 2025-08-14 14:01:32 +10:00
tequ
2fc912d54d Make release build use conan deps where possible and hbb 4.0.1 (#516)
Co-authored-by: Denis Angell <dangell@transia.co>
Co-authored-by: Niq Dudfield <ndudfield@gmail.com>
2025-08-14 12:59:57 +10:00
Niq Dudfield
849d447a20 docs(freeze): canceling escrows with deep frozen assets is allowed (#540) 2025.7.9-release+1951 2025-07-09 13:48:59 +10:00
tequ
ee27049687 IOUIssuerWeakTSH (#388) 2025-07-09 13:48:26 +10:00
tequ
60dec74baf Add DeepFreeze test for URIToken (#539) 2025-07-09 12:49:47 +10:00
Denis Angell
9abea13649 Feature Clawback (#534) 2025-07-09 12:48:46 +10:00
Denis Angell
810e15319c Feature DeepFreeze (#536)
---------

Co-authored-by: tequ <git@tequ.dev>
2025-07-09 10:33:08 +10:00
Niq Dudfield
d593f3bef5 fix: provisional PreviousTxn{Id,LedgerSeq} double threading (#515)
---------

Co-authored-by: tequ <git@tequ.dev>
2025-07-08 18:04:39 +10:00
Niq Dudfield
1233694b6c chore: add suspicious_patterns to .scripts/pre-hook and not-suspicious filter (#525)
* chore: add suspicious_patterns to .scripts/pre-hook and not-suspicious filter

* rm: kill annoying checkpatterns job

* chore: cleanup

---------

Co-authored-by: RichardAH <richard.holland@starstone.co.nz>
2025-07-01 20:58:06 +10:00
tequ
a1d42b7380 Improve unittests (#494)
* Match unit tests on start of test name (#4634)

* For example, without this change, to run the TxQ tests, must specify
  `--unittest=TxQ1,TxQ2` on the command line. With this change, can use
  `--unittest=TxQ`, and both will be run.
* An exact match will prevent any further partial matching.
* This could have some side effects for different tests with a common
  name beginning. For example, NFToken, NFTokenBurn, NFTokenDir. This
  might be useful. If not, the shorter-named test(s) can be renamed. For
  example, NFToken to NFTokens.
* Split the NFToken, NFTokenBurn, and Offer test classes. Potentially speeds
  up parallel tests by a factor of 5.

* SetHook_test, SetHookTSH_test, XahauGenesis_test

---------

Co-authored-by: Ed Hennis <ed@ripple.com>
2025-06-30 10:03:02 +10:00
tequ
f6d2bf819d Fix governance vote purge (#221)
governance hook should be independently and deterministically recompiled before being voted in
2025-06-16 17:12:06 +10:00
Denis Angell
a5ea86fdfc Add Conan Building For Development (#432) 2025-05-14 14:00:20 +10:00
RichardAH
615f56570a Sus pat (#507) 2025.5.1-release+1762 2025-05-01 17:23:56 +10:00
RichardAH
5e005cd6ee remove false positives from sus pat finder (#506) 2025-05-01 09:54:41 +10:00
Denis Angell
80a7197590 fix warnings (#505) 2025-04-30 11:51:58 +02:00
tequ
7b581443d1 Suppress build warning introduced in Catalogue (#499) 2025-04-29 08:25:55 +10:00
tequ
5400f43359 Supress logs for Catalogue_test, Import_test (#495) 2025-04-24 17:46:09 +10:00
Denis Angell
8cf7d485ab fix: ledger_index (#498) 2025-04-24 16:45:01 +10:00
tequ
372f25d09b Remove #ifndef DEBUG guards and exception handling wrappers (#496) 2025-04-24 16:38:14 +10:00
Denis Angell
401395a204 patch remarks (#497) 2025-04-24 16:36:57 +10:00
tequ
4221dcf568 Add tests for SetRemarks (#491) 2025-04-18 09:34:44 +10:00
tequ
989532702d Update clang-format workflow (#490) 2025-04-17 16:16:59 +10:00
RichardAH
f9cd2e0d21 Remarks amendment (#301)
Co-authored-by: Denis Angell <dangell@transia.co>
2025-04-16 08:42:04 +10:00
tequ
59e334c099 fixRewardClaimFlags (#487) 2025-04-15 20:08:19 +10:00
tequ
9018596532 HookCanEmit (#392) 2025-04-15 13:32:35 +10:00
Niq Dudfield
b827f0170d feat(catalogue): add cli commands and fix file_size (#486)
* feat(catalogue): add cli commands and fix file_size

* feat(catalogue): add cli commands and fix file_size

* feat(catalogue): fix tests

* feat(catalogue): fix tests

* feat(catalogue): use formatBytesIEC

* feat: add file_size_estimated

* feat: add file_size_estimated

* feat: add file_size_estimated
2025-04-15 08:50:15 +10:00