Files
bitcoin/ci/test/00_setup_env_native_iwyu.sh
merge-script 2285d1931a Merge bitcoin/bitcoin#35468: ci, iwyu: Request IPC file generation explicitly
a31eb8bfa4 ci, iwyu: Request IPC file generation explicitly (Hennadii Stepanov)

Pull request description:

  Fixes a part of https://github.com/bitcoin/bitcoin/issues/35361:
  > ... other sporadic error output:
  >
  > ```
  > [1](https://github.com/bitcoin/bitcoin/actions/runs/26292243180/job/77395542650#step:11:11661)
  > error: no such file or directory: '/home/admin/actions-runner/_work/_temp/build/src/ipc/capnp/common.capnp.c++'
  > error: no input files
  > error: unable to handle compilation, expected exactly one compiler job in ''
  > error: no such file or directory: '/home/admin/actions-runner/_work/_temp/build/src/ipc/capnp/common.capnp.proxy-client.c++'
  > error: no input files
  > error: unable to handle compilation, expected exactly one compiler job in ''
  > error: no such file or directory: '/home/admin/actions-runner/_work/_temp/build/src/ipc/capnp/common.capnp.proxy-server.c++'
  > error: no input files
  > error: unable to handle compilation, expected exactly one compiler job in ''
  > error: no such file or directory: '/home/admin/actions-runner/_work/_temp/build/src/ipc/capnp/common.capnp.proxy-types.c++'
  > error: no input files
  > ```

ACKs for top commit:
  ryanofsky:
    Code review ACK a31eb8bfa4. Thanks for the updates! This is a minimal fix getting rid of IWYU "fatal error" output from IPC files in the iwyu CI job.
  willcl-ark:
    ACK a31eb8bfa4

Tree-SHA512: 7059c3adbb1f8cb5f69149b45e180b01753dc93c852829eccbc70e6ddcfa212dec45a0e8625c6cb0ea3b8ee05f8f17181f36fd4d277e8f6cc9fe4578b0228166
2026-09-09 12:19:14 +01:00

29 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
#
# Copyright (c) 2023-present The Bitcoin Core developers
# Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
export LC_ALL=C.UTF-8
export CI_IMAGE_NAME_TAG="mirror.gcr.io/ubuntu:26.04" # To build codegen, CMake must be 3.31 or newer.
export CONTAINER_NAME=ci_native_iwyu
export IWYU_LLVM_V="23"
export APT_LLVM_V="${IWYU_LLVM_V}"
export PACKAGES="clang-${IWYU_LLVM_V} clang-format-${IWYU_LLVM_V} libclang-${IWYU_LLVM_V}-dev llvm-${IWYU_LLVM_V}-dev jq libboost-dev libzmq3-dev systemtap-sdt-dev qt6-base-dev qt6-tools-dev qt6-l10n-tools libqrencode-dev libsqlite3-dev libcapnp-dev capnproto"
export NO_DEPENDS=1
export RUN_UNIT_TESTS=false
export RUN_FUNCTIONAL_TESTS=false
export RUN_FUZZ_TESTS=false
export RUN_CHECK_DEPS=false
export RUN_IWYU=true
# Adding non-codegen targets to the build goal is a workaround
# for https://gitlab.kitware.com/cmake/cmake/-/work_items/27862
# and https://github.com/bitcoin-core/libmultiprocess/issues/284.
export GOAL="codegen mp_headers mptest_headers bitcoin_ipc_headers bitcoin_ipc_test_headers bitcoin_ipc_fuzz_headers"
export BITCOIN_CONFIG="\
--preset dev-mode -DBUILD_GUI=OFF \
-DCMAKE_C_COMPILER=clang-${IWYU_LLVM_V} \
-DCMAKE_CXX_COMPILER=clang++-${IWYU_LLVM_V} \
"