Skip to content

Conversation

hebasto
Copy link
Member

@hebasto hebasto commented Mar 13, 2025

The BUILD_TESTS variable has a broad scope, controlling:

  • Building test_bitcoin
  • Building test_bitcoin-qt
  • Building tests in subtrees, such as secp256k1 and univalue
  • Creating CTest's tests

However, for release builds, only the first is necessary.

To address this, this PR introduces the new BUILD_TEST_BINARY variable, which allows building only the test_bitcoin binary without enabling other tests.


As an alternative, an explicit list of build targets can be specified in the contrib/guix/libexec/build.sh.

hebasto added 2 commits March 13, 2025 09:11
The `BUILD_TESTS` variable has a broad scope, controlling:
- Building `test_bitcoin`
- Building `test_bitcoin-qt`
- Building tests in subtrees, such as `secp256k1` and `univalue`
- Creating CTest's tests

However, for release builds, only the first is necessary.

To address this, the new `BUILD_TEST_BINARY` variable allows building
only the `test_bitcoin` binary without enabling other tests.
@DrahtBot
Copy link
Contributor

DrahtBot commented Mar 13, 2025

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Code Coverage & Benchmarks

For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/32054.

Reviews

See the guideline for information on the review process.

Type Reviewers
Concept NACK fanquake

If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #32250 (ci: Slim down lint image by maflcko)
  • #32247 (BIP-348 (OP_CHECKSIGFROMSTACK) (regtest only) by jamesob)
  • #32191 (Make TxGraph fuzz tests more deterministic by sipa)
  • #31802 (Add bitcoin-{node,gui} to release binaries for IPC by Sjors)
  • #30975 (ci: build multiprocess on most jobs by Sjors)
  • #25573 ([POC] guix: produce a fully -static-pie bitcoind by fanquake)

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

@hebasto hebasto changed the title cmake, guix: Skip building tests in subtrees cmake, guix: Skip building tests in subtrees for releases Mar 13, 2025
@fanquake
Copy link
Member

Concept NACK on introducing build options to control building single binaries.

@hebasto
Copy link
Member Author

hebasto commented Mar 13, 2025

Concept NACK on introducing build options to control building single binaries.

Every other BUILD_* variable does exactly the same.

@hebasto
Copy link
Member Author

hebasto commented Mar 13, 2025

Alternatively, an explicit list of targets could be specified here:

# Build Bitcoin Core
cmake --build build -j "$JOBS" ${V:+--verbose}

@fanquake
Copy link
Member

Sure, but I think that isn't a great pattern, and this makes it worse. Having a BUILD_TESTS & BUILD_TEST_BINARY is awkward, and I think the motivation is poor; if you only want to build certain binaries in a Guix build, then use --target. Why does it need a new build option?

@DrahtBot
Copy link
Contributor

🐙 This pull request conflicts with the target branch and needs rebase.

@DrahtBot
Copy link
Contributor

⌛ There hasn't been much activity lately and the patch still needs rebase. What is the status here?

  • Is it still relevant? ➡️ Please solve the conflicts to make it ready for review and to ensure the CI passes.
  • Is it no longer relevant? ➡️ Please close.
  • Did the author lose interest or time to work on this? ➡️ Please close it and mark it 'Up for grabs' with the label, so that it can be picked up in the future.

1 similar comment
@DrahtBot
Copy link
Contributor

⌛ There hasn't been much activity lately and the patch still needs rebase. What is the status here?

  • Is it still relevant? ➡️ Please solve the conflicts to make it ready for review and to ensure the CI passes.
  • Is it no longer relevant? ➡️ Please close.
  • Did the author lose interest or time to work on this? ➡️ Please close it and mark it 'Up for grabs' with the label, so that it can be picked up in the future.

@maflcko
Copy link
Member

maflcko commented Aug 28, 2025

@hebasto Could close?

@hebasto hebasto closed this Aug 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants