You need to do a rebase, instead of merging bitcoin:master to your branch, but I guess it is the only failing test case for now:
https://github.com/bitcoin/bitcoin/actions/runs/21402441839/job/61617138146?pr=34420Run # Run tests on commits after the last merge commit and before the PR head commit
# Run tests on commits after the last merge commit and before the PR head commit
git rebase --exec "git merge --no-commit origin/${GITHUB_BASE_REF} && python3 ./.github/ci-test-each-commit-exec.py && git reset --hard" 0ffb20dee17858e0f13b23fce3dd0ec06cbeb9a2
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
CI_FAILFAST_TEST_LEAVE_DANGLING: 1
CIRRUS_CACHE_HOST: http://127.0.0.1:12321/
REPO_USE_CIRRUS_RUNNERS: bitcoin/bitcoin
MAX_COUNT: 6
FETCH_DEPTH: 5
TEST_BASE: 0ffb20dee17858e0f13b23fce3dd0ec06cbeb9a2
Rebasing (2/4)
Executing: git merge --no-commit origin/master && python3 ./.github/ci-test-each-commit-exec.py && git reset --hard
fatal: refusing to merge unrelated histories
warning: execution failed: git merge --no-commit origin/master && python3 ./.github/ci-test-each-commit-exec.py && git reset --hard
You can fix the problem, and then run
git rebase --continue
Error: Process completed with exit code 1.
Which means, that instead of:
d426b26a Merge branch 'bitcoin:master' into testnet4-fix
886f755c test: add unit tests for testnet4 min-difficulty fork
721cc8b9 consensus: disable min difficulty blocks on testnet4 after height 151200
You need something like that:
........ test: add unit tests for testnet4 min-difficulty fork
........ consensus: disable min difficulty blocks on testnet4 after height 151200
27aeeff6 Merge #34328: rpc: make uptime monotonic across NTP jumps
........ (other Bitcoin Core changes)
So, there should be no "merge Core into your code", but rather "Core changes first", and then "your changes on top of them". Also, if you do that correctly, then Pull Request will show only your changes, without any merges from Core.
Edit:
https://github.com/batmanbytes/bitcoin/tree/testnet4-fixThis branch is 2 commits ahead of and 134 commits behind bitcoin/bitcoin:master.
You are almost there. Usually, in these cases, I use:
Then, you should see your two commits. You can save them somewhere, in a text editor, or a similar place, and temporarily discard them.
After that, you can pull everything from the master. Then you will be up to date.
And if you will have everything exactly as in the bitcoin:master, then you can do:
In this case, you will see no commits. You can bring back your changes, which you saved before, and confirm it. Then, after such rebase, if everything will look correctly, you can force-push things to your own branch, and see, if it can pass all test cases.