Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
10000 commits
Select commit Hold shift + click to select a range
6ee9b83
Hard Functional Test Reset
JaredTate Aug 25, 2025
6f06d2c
Test Framework Running
JaredTate Aug 25, 2025
13d7d8e
Test Framework Unit Test
JaredTate Aug 25, 2025
6d1a4d2
Update Sub Agent and Common Fixes
JaredTate Aug 25, 2025
582e4dd
Update Prompts
JaredTate Aug 25, 2025
3cf952b
Update Prompts
JaredTate Aug 25, 2025
a3e3bb2
Update SUBAGENT_TEST_FIX_PROMPT.md
JaredTate Aug 25, 2025
305bb40
Fix Group 14: Wallet Lists & History Tests (8/8 passing)
JaredTate Aug 25, 2025
e899fdc
Merge branch 'feature/bitcoin-v26.2-merge' of https://github.com/Digi…
JaredTate Aug 25, 2025
f02d74b
Update WORK_GROUPS.md
JaredTate Aug 25, 2025
a970c14
Complete Group 15: File & Tool Operations (5/5 tests passing)
JaredTate Aug 25, 2025
f268bce
Update WORK_GROUPS.md - mark Group 14 as complete
JaredTate Aug 25, 2025
87da7ec
Merge upstream changes - both Groups 14 and 15 complete
JaredTate Aug 25, 2025
cbc273c
Update COMMON_FIXES.md
JaredTate Aug 25, 2025
1bb546c
Group 13 Fixes
JaredTate Aug 25, 2025
0c89382
Group 11 Simple Fixes
JaredTate Aug 25, 2025
63b57bc
Merge branch 'feature/bitcoin-v26.2-merge' of https://github.com/Digi…
JaredTate Aug 25, 2025
7b49aea
Group 13 Passing
JaredTate Aug 25, 2025
cff14de
feat: Group 12 - Complete wallet import/export test fixes (92% success)
JaredTate Aug 25, 2025
08e45e9
feat: Group 13 - Fix wallet advanced tests with Dandelion handling
JaredTate Aug 25, 2025
af93881
feat: Group 2 - Fix consensus & activation tests (71% success rate)
JaredTate Aug 25, 2025
37f0f33
Group 4 Fixes
JaredTate Aug 25, 2025
e33c92b
fix: Group 5 - P2P Network Core tests (3/12 passing)
JaredTate Aug 25, 2025
ceb1799
Update COMMON_FIXES.md
JaredTate Aug 25, 2025
6831ca3
Group 6 Fixes
JaredTate Aug 25, 2025
3e95d73
Update COMMON_FIXES.md
JaredTate Aug 25, 2025
9748bd8
Group 8 Tests
JaredTate Aug 25, 2025
4f35fa1
Group 5 Fixes
JaredTate Aug 25, 2025
6be339c
Merge branch 'feature/bitcoin-v26.2-merge' of https://github.com/Digi…
JaredTate Aug 25, 2025
07580c3
Group 9 Fixes
JaredTate Aug 25, 2025
5c54613
Group 9 Fixes
JaredTate Aug 25, 2025
f5d3dda
Group 8 Tests
JaredTate Aug 25, 2025
22ab037
Merge branch 'feature/bitcoin-v26.2-merge' of https://github.com/Digi…
JaredTate Aug 25, 2025
489fab8
fix: Group 1 - Fix feature_block.py performance issues for DigiByte
JaredTate Aug 26, 2025
868e773
Group 10 Fixes
JaredTate Aug 26, 2025
a2e6489
Test Fixes
JaredTate Aug 26, 2025
050cee7
fix: Group 7 - RPC Transaction tests (4/11 passing)
JaredTate Aug 26, 2025
94e4d57
Updates
JaredTate Aug 26, 2025
7cb2a7b
Update wallet_crosschain.py
JaredTate Aug 26, 2025
9b25faa
Update COMMON_FIXES.md
JaredTate Aug 26, 2025
90a1046
Group 10 Fixes
JaredTate Aug 26, 2025
38ed0ec
Group 10 Fixes
JaredTate Aug 26, 2025
62ab348
Group 7 Tests
JaredTate Aug 26, 2025
171ee7f
Merge branch 'feature/bitcoin-v26.2-merge' of https://github.com/Digi…
JaredTate Aug 26, 2025
933e9ca
fix: Group 3 - Fee & RBF tests (3/9 passing)
JaredTate Aug 26, 2025
337cb0b
Merge branch 'feature/bitcoin-v26.2-merge' of https://github.com/Digi…
JaredTate Aug 26, 2025
6e1a810
Merge branch 'feature/bitcoin-v26.2-merge' of https://github.com/Digi…
JaredTate Aug 26, 2025
edba961
fix: Group 3 - Fee & RBF tests (3/9 passing)
JaredTate Aug 26, 2025
f5ab0cd
fix: Group 8 - RPC Utilities tests (7/7 passing)
JaredTate Aug 26, 2025
3fad7db
Group 7 Fixes
JaredTate Aug 26, 2025
13062e3
Update Docs
JaredTate Aug 26, 2025
d7dded3
Update docs
JaredTate Aug 26, 2025
89147d8
Test Fixes
JaredTate Aug 26, 2025
8d8be95
Test Fixes
JaredTate Aug 26, 2025
5c55da8
Merge branch 'feature/bitcoin-v26.2-merge' of https://github.com/Digi…
JaredTate Aug 26, 2025
e5f9d0d
Test Fixes
JaredTate Aug 26, 2025
e840ed6
Merge branch 'feature/bitcoin-v26.2-merge' of https://github.com/Digi…
JaredTate Aug 26, 2025
dea7ae3
Update rpc_psbt.json
JaredTate Aug 26, 2025
2a9f355
Test Fixes
JaredTate Aug 26, 2025
1a5316f
Test Fixes
JaredTate Aug 26, 2025
164c590
Merge branch 'feature/bitcoin-v26.2-merge' of https://github.com/Digi…
JaredTate Aug 26, 2025
e6c6d49
Test Fixes
JaredTate Aug 26, 2025
9b58aa6
Test Fixes
JaredTate Aug 26, 2025
78cf747
Merge branch 'feature/bitcoin-v26.2-merge' of https://github.com/Digi…
JaredTate Aug 26, 2025
95f07cc
Test Fixes
JaredTate Aug 26, 2025
f76d19b
Match v8.22.2
JaredTate Aug 26, 2025
6606276
Update Groups
JaredTate Aug 26, 2025
360a8c6
Update SUBAGENT_TEST_FIX_PROMPT.md
JaredTate Aug 26, 2025
f404cde
Test Fixes
JaredTate Aug 26, 2025
99d450f
Update wallet_resendwallettransactions.py
JaredTate Aug 26, 2025
bf24566
Update wallet_spend_unconfirmed.py
JaredTate Aug 26, 2025
3997844
Update wallet_orphanedreward.py
JaredTate Aug 26, 2025
594bcf5
Update wallet_balance.py
JaredTate Aug 26, 2025
76091f6
Merge branch 'feature/bitcoin-v26.2-merge' of https://github.com/Digi…
JaredTate Aug 26, 2025
b12a95a
Merge branch 'feature/bitcoin-v26.2-merge' of https://github.com/Digi…
JaredTate Aug 26, 2025
f8e2495
Update COMMON_FIXES.md
JaredTate Aug 26, 2025
1ba20d3
Test Fixes
JaredTate Aug 26, 2025
74284ca
Fix block reward calculation in test framework
JaredTate Aug 26, 2025
bb8ce0b
Update wallet_importdescriptors.py
JaredTate Aug 26, 2025
a4b671e
Update wallet_fundrawtransaction.py
JaredTate Aug 26, 2025
c820ace
Docs
JaredTate Aug 26, 2025
1be9279
dhfd
JaredTate Aug 26, 2025
9dc24b2
Test Fixes
JaredTate Aug 26, 2025
904603a
Merge branch 'feature/bitcoin-v26.2-merge' of https://github.com/Digi…
JaredTate Aug 26, 2025
9327a50
Update wallet_balance.py
JaredTate Aug 26, 2025
858a2b2
test: Fix DigiByte block subsidy calculation in test framework
JaredTate Aug 26, 2025
cf2af51
Test Fixes
JaredTate Aug 26, 2025
4c7d530
test: Fix p2p_compactblocks.py - Restore compact block version negoti…
JaredTate Aug 26, 2025
11e0ae5
Update COMMON_FIXES.md
JaredTate Aug 26, 2025
c1a422e
Merge branch 'feature/bitcoin-v26.2-merge' of https://github.com/Digi…
JaredTate Aug 26, 2025
04d1d24
Update prompts
JaredTate Aug 26, 2025
97d9712
Updates
JaredTate Aug 26, 2025
f3cfbca
Merge branch 'feature/bitcoin-v26.2-merge' of https://github.com/Digi…
JaredTate Aug 26, 2025
0c662b1
Remove Bitcoin-specific BIP30 duplicate coinbase exceptions
JaredTate Aug 26, 2025
1d9cbbf
Update feature_block.py
JaredTate Aug 26, 2025
89c4137
Fix Fee Error
JaredTate Aug 26, 2025
69879f8
Merge branch 'feature/bitcoin-v26.2-merge' of https://github.com/Digi…
JaredTate Aug 26, 2025
678d196
Mempool COINBASE_MATURITY : COINBASE_MATURITY_2
JaredTate Aug 26, 2025
9c17e0e
Update blocktools.py
JaredTate Aug 26, 2025
a7fae8e
Update p2p_dos_header_tree.py
JaredTate Aug 26, 2025
20dafc5
Update mempool_sigoplimit.py
JaredTate Aug 26, 2025
4ed7fd9
Update wallet.py
JaredTate Aug 26, 2025
dc7f1d2
Update wallet_orphanedreward.py
JaredTate Aug 26, 2025
2dc7961
Update wallet_spend_unconfirmed.py
JaredTate Aug 26, 2025
8885d01
Update feature_csv_activation.py
JaredTate Aug 26, 2025
a476d3f
Update Prompts
JaredTate Aug 26, 2025
fe4584f
Create BUG_BASHER_PROMPT.md
JaredTate Aug 27, 2025
5f97f5c
Update mempool_package_limits.py
JaredTate Aug 27, 2025
fdbcab7
Update feature_fee_estimation.py
JaredTate Aug 27, 2025
1c4407e
Update wallet_spend_unconfirmed.py
JaredTate Aug 27, 2025
eaa6ccb
Update rpc_psbt.json
JaredTate Aug 27, 2025
f9ff9d4
Fix DescriptorScriptPubKeyMan Merge Bug
JaredTate Aug 27, 2025
b0522e0
Merge branch 'feature/bitcoin-v26.2-merge' of https://github.com/Digi…
JaredTate Aug 27, 2025
3d07bce
Test Fixed Properly
JaredTate Aug 27, 2025
a06bbaa
Update Prompts
JaredTate Aug 27, 2025
ed5188b
Fixed Tests
JaredTate Aug 27, 2025
9205076
Fixed Test
JaredTate Aug 27, 2025
d0fa754
Update wallet_spend_unconfirmed.py
JaredTate Aug 27, 2025
41eaae1
Update feature_taproot.py
JaredTate Aug 27, 2025
22a3c0b
Update rpc_getblockstats.json
JaredTate Aug 27, 2025
94cd4b0
Set Correct Window
JaredTate Aug 27, 2025
fa715d0
Wallet State Synchronization Bug With Dandelion Disabled
JaredTate Aug 27, 2025
2e69621
Update messages.py
JaredTate Aug 27, 2025
ca8c762
Update p2p_node_network_limited.py
JaredTate Aug 27, 2025
5abc8bb
Update rpc_psbt.py
JaredTate Aug 27, 2025
229fddb
Merge branch 'feature/bitcoin-v26.2-merge' of https://github.com/Digi…
JaredTate Aug 27, 2025
4f3604e
Update Prompts
JaredTate Aug 27, 2025
0d1ff2f
Match v8.22
JaredTate Aug 27, 2025
d1b1046
Correct Test for DGB Multi Algo
JaredTate Aug 27, 2025
9b79f83
Test Simple Fix
JaredTate Aug 27, 2025
007a7c0
Merge branch 'feature/bitcoin-v26.2-merge' of https://github.com/Digi…
JaredTate Aug 27, 2025
e7b0f8b
Fix Test - Adapt for 15 Second Blocks
JaredTate Aug 27, 2025
e445191
Mining Basic Test Fix
JaredTate Aug 27, 2025
1926321
Update init.cpp
JaredTate Aug 27, 2025
a555022
Revisit Test Fixes Later if Any Headers Issues
JaredTate Aug 27, 2025
960fc9a
Fix Test
JaredTate Aug 27, 2025
4a554d0
Update rpc_psbt.py
JaredTate Aug 27, 2025
891727f
Fix Test
JaredTate Aug 27, 2025
42b2c28
Fix Test
JaredTate Aug 27, 2025
0ef2ea3
Fix Signer Test
JaredTate Aug 27, 2025
937fcd1
Update test_node.py
JaredTate Aug 27, 2025
616cc79
Revert "Update test_node.py"
JaredTate Aug 27, 2025
cb521a0
Update Docs
JaredTate Aug 27, 2025
3b9be54
Update rpc_packages.py
JaredTate Aug 27, 2025
72c9494
Revert Tests
JaredTate Aug 27, 2025
ef25229
Revert
JaredTate Aug 27, 2025
44b7f35
Update p2p_headers_sync_with_minchainwork.py
JaredTate Aug 27, 2025
e890cbf
Revert Fresh & Try Fix Again
JaredTate Aug 27, 2025
f274f75
Test Fixed Properly
JaredTate Aug 27, 2025
2fcafd8
Correct for Multi Algo
JaredTate Aug 27, 2025
4791684
Test Fixed Properly For Fee Issues
JaredTate Aug 27, 2025
1855218
Merge branch 'feature/bitcoin-v26.2-merge' of https://github.com/Digi…
JaredTate Aug 27, 2025
2f82edd
Merge branch 'feature/bitcoin-v26.2-merge' of https://github.com/Digi…
JaredTate Aug 27, 2025
b47a9fd
Limit Long Chains - Match BTC Setting. Throws many tests off
JaredTate Aug 27, 2025
ffb56b1
Test FIX - REVIST ONCE FEE POLICY in v8.26 Decided.
JaredTate Aug 27, 2025
dfa47a0
Test Fixed - Revist once v8.26 Fee Policy Determined
JaredTate Aug 27, 2025
7d9319a
Fixed RBF Issue & Test
JaredTate Aug 27, 2025
17482f5
REVIST IF BALANCE ISSUES: Fix wallet_balance.py test for DigiByte v8.26
JaredTate Aug 27, 2025
8dda633
CLEAN UP FILES - ALL UNIT & FUNCTIONAL TESTS PASSING!!
JaredTate Aug 27, 2025
6c22b8c
Fix GetDifficulty Bug: Restore Multi-Algorithm Support
JaredTate Aug 29, 2025
449c061
Fix getblocktemplate Breaking Change for Mining Pools
JaredTate Aug 29, 2025
a8ef625
Revert "Fix getblocktemplate Breaking Change for Mining Pools"
JaredTate Aug 29, 2025
9033271
Fix getblock RPC: Add Missing Multi-Algorithm Mining Fields
JaredTate Aug 29, 2025
26aff51
Add Missing Multi-Algorithm Fields to RPC Commands
JaredTate Aug 29, 2025
cebcb1e
Fix getblocktemplate Breaking Change for Mining Pool Compatibility
JaredTate Aug 29, 2025
00fa8c2
Fix getblock RPC field order for mining pool compatibility
JaredTate Aug 29, 2025
4b6eb90
Fix getblocktemplate Mining Pool Compatibility - Critical Bug Fix
JaredTate Aug 29, 2025
9723b3e
Fix getblocktemplate: Add Missing Odocrypt odokey Field
JaredTate Aug 30, 2025
f64d870
Fix Critical Multi-Algorithm Mining Bug in IsAlgoActive
JaredTate Aug 30, 2025
fdc8e62
Fix Critical Odocrypt Mining Bug - Missing Consensus Params
JaredTate Aug 30, 2025
a3279b8
Dandelion & Fee Reports - v8.26 vs v8.22
JaredTate Aug 30, 2025
6127fa9
Unique Features Reports
JaredTate Aug 30, 2025
8fbbfab
DGB Help Text Corrections
JaredTate Aug 30, 2025
e0ced2a
Mining Reports
JaredTate Aug 30, 2025
cdf4ef8
Merge branch 'feature/bitcoin-v26.2-merge' of https://github.com/Digi…
JaredTate Aug 30, 2025
2eddd74
Docs
JaredTate Aug 30, 2025
a310172
Reports
JaredTate Aug 30, 2025
879a988
fix: Restore multi-algorithm mining RPC functionality from v8.22
JaredTate Aug 30, 2025
12244ba
ALL TESTS PASS: Restore multi-algorithm mining RPC functionality and …
JaredTate Aug 30, 2025
2289bbf
missing set -algo param
JaredTate Aug 31, 2025
005b948
Fix Algo Getblocktemplate
JaredTate Aug 31, 2025
c7814f7
Track Last Algo - Fix block template
JaredTate Aug 31, 2025
642960c
ALL TESTS PASSING - Fix missing RPC Result Response
JaredTate Sep 2, 2025
209f37a
Fix intermittent Failure
JaredTate Sep 2, 2025
fb47b39
Fix critical crash when spending mature coinbase outputs
JaredTate Sep 2, 2025
785f304
Update DIGIBYTE_v8.26_MULTI_ALGO_MINING_REPORT.md
JaredTate Sep 5, 2025
f0e86fc
Update DigiByte_v8.26_Dandelion_Privacy_Protocol_Report.md
JaredTate Sep 5, 2025
f277771
Update DigiByte_v8.26_Fee_System_Analysis_Report.md
JaredTate Sep 5, 2025
731ddde
Update DIGIBYTE_V8.26_UNIQUE_FEATURES_REPORT.md
JaredTate Sep 5, 2025
68771b7
Merge branch 'feature/bitcoin-v26.2-merge' of https://github.com/Digi…
JaredTate Sep 5, 2025
fa4a0f7
Fix systemtap patch for GUIX build - update line numbers for patch ap…
JaredTate Sep 8, 2025
0f7cdcd
Update systemtap patch to work with fuzz tolerance
JaredTate Sep 8, 2025
331c1e4
Fix systemtap patches - adjust line numbers for both patches to apply…
JaredTate Sep 8, 2025
debb297
Simplify systemtap patches - remove problematic second patch
JaredTate Sep 8, 2025
b8767b4
Disable test-security-check in GUIX build - CONTROL_FLOW test incompa…
JaredTate Sep 8, 2025
ee09814
Disable symbol checks for GUIX build compatibility
JaredTate Sep 9, 2025
594db91
Fix macOS GUIX build - disable LAZY_BINDINGS security check
JaredTate Sep 9, 2025
a02a69a
Fix macOS Guix build: Use ZIP format like Bitcoin v26.2
JaredTate Sep 23, 2025
6b53440
Remove Bitcoin reference repo from tracking
JaredTate Sep 23, 2025
9bf52d7
Fix macOS Guix security test for SDK 12.x compatibility
JaredTate Sep 24, 2025
b3d0baf
Work around macOS Guix build security test failure for SDK 12.x
JaredTate Sep 24, 2025
3412d8b
Update contrib build scripts from Bitcoin v26.2
JaredTate Sep 24, 2025
1d2e65c
Fix macOS ARM64 Guix build - Add proper security hardening
JaredTate Sep 24, 2025
89c650b
Fix macOS Guix security test for SDK 12.x compatibility
JaredTate Sep 24, 2025
132ad30
Simplify macOS Guix build - match working commit 594db91b8a
JaredTate Sep 24, 2025
6fcb77e
Match working commit 594db91b8a configuration exactly
JaredTate Sep 24, 2025
72fa6d1
Fix macOS Guix build: Disable binary stripping that corrupts ARM64 ex…
JaredTate Sep 24, 2025
60be914
Fix macOS .app bundle: Disable stripping in app bundling process
JaredTate Sep 24, 2025
f76357b
Fix Windows installer icon - use correct DigiByte icon from v8.22.2
JaredTate Sep 24, 2025
11b67da
Fix macOS CI: Correct git safe.directory command quoting
JaredTate Sep 24, 2025
53f7411
Fix CI: Move git safe.directory config before 01_base_install.sh
JaredTate Sep 24, 2025
34b5a3f
Fix CI: Use backslash escape for wildcard in git safe.directory
JaredTate Sep 24, 2025
9ef8ffc
Fix CI: Properly quote wildcard in git safe.directory command
JaredTate Sep 24, 2025
864c237
Fix CI: Use explicit path for git safe.directory
JaredTate Sep 24, 2025
67c1dab
Fix CI: Make qa-assets clone fail gracefully
JaredTate Sep 24, 2025
7d0c803
Fix Windows CI: Add boost-thread to vcpkg dependencies
JaredTate Sep 24, 2025
43f1d82
Fix CI: Add error handling for qa-assets clone in 04_install.sh
JaredTate Sep 24, 2025
885d00b
Fix CI: Create functional qa-assets fallback data
JaredTate Sep 24, 2025
10aa2a0
Remove dependency on non-existent qa-assets repo
JaredTate Sep 24, 2025
590bc39
macOS CI: Remove NO_DEPENDS=1 and enable unit/functional tests
JaredTate Sep 24, 2025
ed16c64
Simplify macOS CI: Use v8.22.2 direct build approach
JaredTate Sep 24, 2025
1b030e2
Complete CI fixes: Enable full Qt GUI builds and all tests
JaredTate Sep 24, 2025
7e4721d
Add Linux CI job with Qt GUI, unit and functional tests
JaredTate Sep 24, 2025
54d3c32
Add ARM64 macOS CI and disable test-each-commit
JaredTate Sep 24, 2025
33c173c
Fix CI test commands and disable Windows temporarily
JaredTate Sep 24, 2025
3395871
Fix Make Check
JaredTate Sep 25, 2025
14e6df6
Update ci.yml
JaredTate Sep 25, 2025
f64ca95
Use cache for depends
JaredTate Sep 25, 2025
79e3774
Cache Homebrew
JaredTate Sep 25, 2025
0f5b005
Test Fix
JaredTate Sep 25, 2025
ed85b0c
Update wallet_import_rescan.py
JaredTate Sep 25, 2025
b2e8dff
Update Pipeline
JaredTate Sep 25, 2025
3acd334
Fix CI workflows: Remove Windows/test-each-commit jobs, add caching, …
JaredTate Sep 25, 2025
8c332ce
Fix CI workflow YAML indentation
JaredTate Sep 25, 2025
38b416c
Fix macOS CI builds: Force link Homebrew packages and fix PATH
JaredTate Sep 25, 2025
e005817
Fix wallet_import_rescan.py: Increase minimum transaction amounts for…
JaredTate Sep 25, 2025
3d01d9d
Revert "Fix wallet_import_rescan.py: Increase minimum transaction amo…
JaredTate Sep 25, 2025
a376a52
Fix CI functional test failures: Always build full binaries
JaredTate Sep 25, 2025
2610a12
NO qt For codeql
JaredTate Sep 25, 2025
b7c373d
Merge branch 'feature/bitcoin-v26.2-merge' of https://github.com/Digi…
JaredTate Sep 25, 2025
5322553
Fixx Fee Intermittent Failure
JaredTate Sep 25, 2025
f696e00
Merge branch 'feature/bitcoin-v26.2-merge' of https://github.com/Digi…
JaredTate Sep 25, 2025
49d2b7d
Update codeql-config.yml
JaredTate Sep 25, 2025
606b603
Update ci.yml
JaredTate Sep 25, 2025
ebd8f10
Update ci.yml
JaredTate Sep 25, 2025
c809f88
Merge branch 'feature/bitcoin-v26.2-merge' of https://github.com/Digi…
JaredTate Sep 25, 2025
d650677
Streamline Codeql
JaredTate Sep 25, 2025
0e2bdb9
CodeQl Deps
JaredTate Sep 25, 2025
ddb58dd
Fix Code Ql github CI
JaredTate Sep 25, 2025
4bac8d4
Correct CodeQL
JaredTate Sep 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
265 changes: 123 additions & 142 deletions .cirrus.yml
Original file line number Diff line number Diff line change
@@ -1,225 +1,206 @@
### Global defaults

env:
env: # Global defaults
CIRRUS_CLONE_DEPTH: 1
PACKAGE_MANAGER_INSTALL: "apt-get update && apt-get install -y"
MAKEJOBS: "-j4"
MAKEJOBS: "-j10"
TEST_RUNNER_PORT_MIN: "14000" # Must be larger than 12321, which is used for the http cache. See https://cirrus-ci.org/guide/writing-tasks/#http-cache
CCACHE_SIZE: "200M"
CI_FAILFAST_TEST_LEAVE_DANGLING: "1" # Cirrus CI does not care about dangling processes and setting this variable avoids killing the CI script itself on error
CCACHE_MAXSIZE: "200M"
CCACHE_DIR: "/tmp/ccache_dir"
CCACHE_NOHASHDIR: "1" # Debug info might contain a stale path if the build dir changes, but this is fine

cirrus_ephemeral_worker_template_env: &CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
DANGER_RUN_CI_ON_HOST: "1" # Containers will be discarded after the run, so there is no risk that the ci scripts modify the system

persistent_worker_template_env: &PERSISTENT_WORKER_TEMPLATE_ENV
RESTART_CI_DOCKER_BEFORE_RUN: "1"

persistent_worker_template: &PERSISTENT_WORKER_TEMPLATE
persistent_worker: {} # https://cirrus-ci.org/guide/persistent-workers/
# https://cirrus-ci.org/guide/persistent-workers/
#
# It is possible to select a specific persistent worker by label. Refer to the
# Cirrus CI docs for more details.
#
# Generally, a persistent worker must run Ubuntu 23.04+ or Debian 12+.
# Specifically,
# - apt-get is required due to PACKAGE_MANAGER_INSTALL
# - podman-docker-4.1+ is required due to the use of `podman` when
# RESTART_CI_DOCKER_BEFORE_RUN is set and 4.1+ due to the bugfix in 4.1
# (https://github.com/digibyte/digibyte/pull/21652#issuecomment-1657098200)
# - The ./ci/ depedencies (with cirrus-cli) should be installed:
#
# ```
# apt update && apt install screen python3 bash podman-docker curl -y && curl -L -o cirrus "https://github.com/cirruslabs/cirrus-cli/releases/latest/download/cirrus-linux-$(dpkg --print-architecture)" && mv cirrus /usr/local/bin/cirrus && chmod +x /usr/local/bin/cirrus
# ```
#
# - There are no strict requirements on the hardware, because having less CPUs
# runs the same CI script (maybe slower). To avoid rare and intermittent OOM
# due to short memory usage spikes, it is recommended to add (and persist)
# swap:
#
# ```
# fallocate -l 16G /swapfile_ci && chmod 600 /swapfile_ci && mkswap /swapfile_ci && swapon /swapfile_ci && ( echo '/swapfile_ci none swap sw 0 0' | tee -a /etc/fstab )
# ```
#
# - To register the persistent worker, open a `screen` session and run:
#
# ```
# RESTART_CI_DOCKER_BEFORE_RUN=1 screen cirrus worker run --labels type=todo_fill_in_type --token todo_fill_in_token
# ```
#
# The following specific types should exist, with the following requirements:
# - small: For an x86_64 machine, recommended to have 2 CPUs and 8 GB of memory.
# - medium: For an x86_64 machine, recommended to have 4 CPUs and 16 GB of memory.
# - noble: For a machine running the Linux kernel shipped with exaclty Ubuntu Noble 24.04. The machine is recommended to have 4 CPUs and 16 GB of memory.
# - arm64: For an aarch64 machine, recommended to have 2 CPUs and 8 GB of memory.

# https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks
base_template: &BASE_TEMPLATE
filter_template: &FILTER_TEMPLATE
skip: $CIRRUS_REPO_FULL_NAME == "digibyte-core/gui" && $CIRRUS_PR == "" # No need to run on the read-only mirror, unless it is a PR. https://cirrus-ci.org/guide/writing-tasks/#conditional-task-execution
stateful: false # https://cirrus-ci.org/guide/writing-tasks/#stateful-tasks

base_template: &BASE_TEMPLATE
<< : *FILTER_TEMPLATE
merge_base_script:
- if [ "$CIRRUS_PR" = "" ]; then exit 0; fi
# Unconditionally install git (used in fingerprint_script).
- bash -c "$PACKAGE_MANAGER_INSTALL git"
- git fetch $CIRRUS_REPO_CLONE_URL $CIRRUS_BASE_BRANCH
- git config --global user.email "ci@ci.ci"
- git config --global user.name "ci"
- git merge FETCH_HEAD # Merge base to detect silent merge conflicts
stateful: false # https://cirrus-ci.org/guide/writing-tasks/#stateful-tasks
- if [ "$CIRRUS_PR" = "" ]; then exit 0; fi
- git fetch --depth=1 $CIRRUS_REPO_CLONE_URL "pull/${CIRRUS_PR}/merge"
- git checkout FETCH_HEAD # Use merged changes to detect silent merge conflicts
# Also, the merge commit is used to lint COMMIT_RANGE="HEAD~..HEAD"

global_task_template: &GLOBAL_TASK_TEMPLATE
<< : *BASE_TEMPLATE
main_template: &MAIN_TEMPLATE
timeout_in: 120m # https://cirrus-ci.org/faq/#instance-timed-out
container:
# https://cirrus-ci.org/faq/#are-there-any-limits
# Each project has 16 CPU in total, assign 2 to each container, so that 8 tasks run in parallel
cpu: 2
memory: 8G # Set to 8GB to avoid OOM. https://cirrus-ci.org/guide/linux/#linux-containers
ccache_cache:
folder: "/tmp/ccache_dir"
depends_built_cache:
folder: "depends/built"
ci_script:
- ./ci/test_run_all.sh

depends_sdk_cache_template: &DEPENDS_SDK_CACHE_TEMPLATE
depends_sdk_cache:
folder: "depends/sdk-sources"
global_task_template: &GLOBAL_TASK_TEMPLATE
<< : *BASE_TEMPLATE
<< : *MAIN_TEMPLATE

compute_credits_template: &CREDITS_TEMPLATE
# https://cirrus-ci.org/pricing/#compute-credits
# Only use credits for pull requests to the main repo
use_compute_credits: $CIRRUS_REPO_FULL_NAME == 'digibyte/digibyte' && $CIRRUS_PR != ""

#task:
# name: "Windows"
# windows_container:
# image: cirrusci/windowsservercore:2019
# env:
# CIRRUS_SHELL: powershell
# PATH: 'C:\Python37;C:\Python37\Scripts;%PATH%'
# PYTHONUTF8: 1
# QT_DOWNLOAD_URL: 'https://github.com/sipsorcery/qt_win_binary/releases/download/v1.6/Qt5.9.8_x64_static_vs2019.zip'
# QT_DOWNLOAD_HASH: '9a8c6eb20967873785057fdcd329a657c7f922b0af08c5fde105cc597dd37e21'
# QT_LOCAL_PATH: 'C:\Qt5.9.8_x64_static_vs2019'
# VCPKG_INSTALL_PATH: 'C:\tools\vcpkg\installed'
# VCPKG_COMMIT_ID: 'ed0df8ecc4ed7e755ea03e18aaf285fd9b4b4a74'
# install_script:
# - choco install python --version=3.7.7 -y

task:
name: 'lint [bionic]'
name: 'lint'
<< : *BASE_TEMPLATE
container:
image: ubuntu:bionic # For python 3.6, oldest supported version according to doc/dependencies.md
image: debian:bookworm
cpu: 1
memory: 1G
# For faster CI feedback, immediately schedule the linters
<< : *CREDITS_TEMPLATE
python_cache:
folder: "/python_build"
fingerprint_script: cat .python-version /etc/os-release
unshallow_script:
- git fetch --unshallow --no-tags
lint_script:
- ./ci/lint_run_all.sh

task:
name: 'tidy'
<< : *GLOBAL_TASK_TEMPLATE
persistent_worker:
labels:
type: medium
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_native_tidy.sh"

task:
name: 'ARM [unit tests, no functional tests] [buster]'
name: 'ARM, unit tests, no functional tests'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: debian:buster
persistent_worker:
labels:
type: arm64 # Use arm64 worker to sidestep qemu and avoid a slow CI: https://github.com/digibyte/digibyte/pull/28087#issuecomment-1649399453
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_arm.sh"

task:
name: 'Win64 [unit tests, no gui tests, no boost::process, no functional tests] [focal]'
name: 'Win64, unit tests, no gui tests, no boost::process, no functional tests'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:focal
persistent_worker:
labels:
type: small
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_win64.sh"

task:
name: '32-bit + dash [gui] [CentOS 8]'
name: '32-bit CentOS, dash, gui'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: centos:8
persistent_worker:
labels:
type: small
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
PACKAGE_MANAGER_INSTALL: "yum install -y"
FILE_ENV: "./ci/test/00_setup_env_i686_centos.sh"

task:
name: '[previous releases, uses qt5 dev package and some depends packages, DEBUG] [unsigned char] [bionic]'
previous_releases_cache:
folder: "releases"
name: 'previous releases, qt5 dev package and depends packages, DEBUG'
<< : *GLOBAL_TASK_TEMPLATE
<< : *PERSISTENT_WORKER_TEMPLATE
persistent_worker:
labels:
type: small
env:
<< : *PERSISTENT_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_native_qt5.sh"

task:
name: '[depends, sanitizers: thread (TSan), no gui] [jammy]'
name: 'TSan, depends, gui'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:jammy
cpu: 6 # Increase CPU and Memory to avoid timeout
memory: 24G
persistent_worker:
labels:
type: medium
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
MAKEJOBS: "-j8"
FILE_ENV: "./ci/test/00_setup_env_native_tsan.sh"

task:
name: '[depends, sanitizers: memory (MSan)] [focal]'
name: 'MSan, depends'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:focal
persistent_worker:
labels:
type: small
timeout_in: 300m # Use longer timeout for the *rare* case where a full build (llvm + msan + depends + ...) needs to be done.
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_native_msan.sh"

task:
name: '[no depends, sanitizers: address/leak (ASan + LSan) + undefined (UBSan) + integer] [jammy]'
name: 'ASan + LSan + UBSan + integer, no depends, USDT'
enable_bpfcc_script:
# In the image build step, no external environment variables are available,
# so any settings will need to be written to the settings env file:
- sed -i "s|\${CIRRUS_CI}|true|g" ./ci/test/00_setup_env_native_asan.sh
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:jammy
persistent_worker:
labels:
type: noble # Must use this specific worker (needed for USDT functional tests)
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_native_asan.sh"

task:
name: '[no depends, sanitizers: fuzzer,address,undefined,integer] [focal]'
name: 'fuzzer,address,undefined,integer, no depends'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:focal
cpu: 4 # Increase CPU and memory to avoid timeout
memory: 16G
persistent_worker:
labels:
type: medium
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
MAKEJOBS: "-j8"
FILE_ENV: "./ci/test/00_setup_env_native_fuzz.sh"

task:
name: '[multiprocess, DEBUG] [focal]'
name: 'multiprocess, i686, DEBUG'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:focal
cpu: 4
memory: 16G # The default memory is sometimes just a bit too small, so double everything
persistent_worker:
labels:
type: medium
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
MAKEJOBS: "-j8"
FILE_ENV: "./ci/test/00_setup_env_native_multiprocess.sh"
FILE_ENV: "./ci/test/00_setup_env_i686_multiprocess.sh"

task:
name: '[no wallet] [bionic]'
name: 'no wallet, libdigibytekernel'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:bionic
persistent_worker:
labels:
type: small
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_native_nowallet.sh"
FILE_ENV: "./ci/test/00_setup_env_native_nowallet_libdigibytekernel.sh"

task:
name: 'macOS 10.15 [gui, no tests] [focal]'
<< : *BASE_TEMPLATE
macos_sdk_cache:
folder: "depends/SDKs/$MACOS_SDK"
fingerprint_key: "$MACOS_SDK"
<< : *MAIN_TEMPLATE
container:
image: ubuntu:focal
env:
MACOS_SDK: "Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers"
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_mac.sh"

task:
name: 'macOS 12 native [gui, system sqlite only] [no depends]'
brew_install_script:
- brew install boost libevent qt@5 miniupnpc libnatpmp ccache zeromq qrencode libtool automake gnu-getopt
<< : *GLOBAL_TASK_TEMPLATE
osx_instance:
# Use latest image, but hardcode version to avoid silent upgrades (and breaks)
image: monterey-xcode-13.2 # https://cirrus-ci.org/guide/macOS
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
CI_USE_APT_INSTALL: "no"
PACKAGE_MANAGER_INSTALL: "echo" # Nothing to do
FILE_ENV: "./ci/test/00_setup_env_mac_host.sh"

task:
name: 'ARM64 Android APK [focal]'
<< : *DEPENDS_SDK_CACHE_TEMPLATE
depends_sources_cache:
folder: "depends/sources"
name: 'macOS-cross 11.0, gui, no tests'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:focal
persistent_worker:
labels:
type: small
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_android.sh"
FILE_ENV: "./ci/test/00_setup_env_mac.sh"
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ trim_trailing_whitespace = true
[*.{h,cpp,py,sh}]
indent_size = 4

# .cirrus.yml, .appveyor.yml, .fuzzbuzz.yml, etc.
# .cirrus.yml, .fuzzbuzz.yml, etc.
[*.yml]
indent_size = 2

Expand Down
Loading
Loading