#36679 ci: enable IPC in the i686 job

ReviewabilityReviewsAgreementSize
#36679 Sjors ci: enable IPC in the i686 jobReady1Strong2 + 4 tests
  • Exercise IPC functionality on 32-bit x86 in continuous integration
  • Catches compiler ABI issues that previously went untested
  • Ready to review
  • Substantive support after confirming CI coverage history (maflcko)
  • Nonblocking concern on whether supporting 32-bit architectures is worth project effort (l0rinc)
  • Requested feedback on 32-bit issues from ryanofsky (fanquake)
  • 2 lines added or modified outside tests
  • 4 lines added or modified in tests
  • 5 lines removed in total
  • 2 files, 1 commits
Build and CI#32 of 56
P3 · test coverage
  • P3 because it adds 32-bit x86 CI coverage for IPC without fixing an active build break
  • Catches platform-specific compiler ABI issues earlier in the build pipeline
  • Ranking pass: Moved up from 41: adds 32-bit ABI coverage for IPC where failures have previously occurred
Test infrastructure#35 of 54
P3 · test coverage
  • P3 because it closes an existing test coverage gap for IPC on 32-bit x86 systems
  • Exercises IPC where compiler ABI differences previously went untested
Reviewability: ReadyStalePaused
Agreement: StrongPositivePositive w/ caveatsNeutralMildDisputedBlockedCrickets
Reviews: current code-review ACKs, then (+stale ACKs) and -NACKs; greener = more ACKs.
Size: lines added or modified outside tests, then in tests; greener = smaller.

Goal

Enables IPC in the 32-bit x86 (i686) continuous integration job. It renames the CI environment setup script and drops the configuration flag that disabled IPC for that job.

Problem: The i686 CI job was arbitrarily chosen to test building with `-DENABLE_IPC=OFF`, leaving IPC functionality untested on 32-bit x86 where compiler ABI differences can cause failures.

Evidence of importance:

  • Commit message: "Exercise IPC on 32-bit x86, where compiler ABI differences have caused failures."
  • Description points to bitcoin-core/libmultiprocess#383 as an example of 32-bit ABI issues requiring coverage.

Risk of a mistake: low (tests, tooling). A mistake would only cause failures or misconfigurations in the i686 CI job.

Changed since the previous assessment: Diff is now available; the implementation renames `ci/test/00_setup_env_i686_no_ipc.sh` to `00_setup_env_i686.sh` and updates the workflow job definition.

Reviewability

Ready

Nothing known that would invalidate a review now.

Waiting on (from the thread read):

  • reviewer: input from ryanofsky as requested by fanquake 2026-10-28
  • reviewer: feedback from ryanofsky as requested by fanquake 2026-10-28
  • author: response to l0rinc's remark regarding 32-bit architecture support 2026-10-28

Agreement

Strong

substantive support, no open objection (maflcko)

Thread notes: Initial record for PR #36679. maflcko provided a substantive ACK after discussing -DENABLE_IPC=OFF coverage, while l0rinc noted skepticism regarding 32-bit support without blocking. / Initial record. maflcko provided an ACK after confirming CI history. l0rinc questioned spending effort on 32-bit support, and fanquake pinged ryanofsky for thoughts.

Objections, suggestions, and questions:

ReviewerTypeHarm, request, or questionStatusMust beAuthor repliedQuote
maflcko (member)question, usefulnessDid CI ever catch a failure due to -DENABLE_IPC=OFF?accepted · author replied and maflcko confirmed it is not a blockeransweredyes2026-10-28: 'Do you recall if this ci config piece ever failed?'
Status from: 2026-10-28: maflcko: 'But not a blocker, just thinking for the future.'
l0rinc (member)suggestion, usefulnessQuestioned the value of spending project time supporting 32-bit architecturesopenansweredno2026-10-28: 'I don't think pretending like we fully support 32 bit architectures is the best use of our time'

Support:

  • maflcko (member) (ACK, 2026-10-28) [read]: The changes here should be fine since 0136e17c0a963e82bf47c223d41f4d5c009520c0

Participants:

  • fanquake (member, neutral, 2 statements 2026-10-28 to 2026-10-28): pointed out recent musl and 32-bit issues and pinged ryanofsky
  • l0rinc (member, neutral, 1 statements 2026-10-28 to 2026-10-28): questioned whether supporting 32-bit architectures is the best use of time, but stated they won't block
  • maflcko (member, support, 4 statements 2026-10-28 to 2026-10-28): ACKed after clarifying whether -DENABLE_IPC=OFF coverage ever caught CI failures

Files

7 lines under test/bench/ci.

  • ci/test/{00_setup_env_i686_no_ipc.sh => 00_setup_env_i686.sh} +4/-3
  • .github/workflows/ci.yml +2/-2

Card

The short text the ranking pass compares across PRs.

Enables IPC testing in the 32-bit x86 (i686) continuous integration job. The i686 job previously explicitly disabled IPC to provide coverage for -DENABLE_IPC=OFF, leaving 32-bit IPC configurations untested in CI. Compiler ABI differences on 32-bit platforms have previously caused failures in libmultiprocess, making CI coverage desirable to catch regressions. The change affects only CI configuration.

Data

dossier JSON · extract JSON · model ledger, generated 2026-10-30T01:12, confidence high, input hash 5551f990a8d4dbbc
thread read through 2026-10-28 (10 statements), head 65ddcb4f35
labels: Tests

Categories

Build and CI

P3 · test coverage (ranking pass: Moved up from 41: adds 32-bit ABI coverage for IPC where failures have previously occurred)

Enables IPC coverage on 32-bit x86 CI to catch compiler ABI issues. The commit message notes this exercises IPC on 32-bit x86 'where compiler ABI differences have caused failures', providing worthwhile platform test coverage without addressing an active release-blocking build failure.

Membership: Modifies `.github/workflows/ci.yml` and `ci/test/` scripts to enable IPC in the i686 CI job.

Factors: security/stability 0, bug 0, performance 0, user value 0, leverage 1

Test infrastructure

P3 · test coverage

Extends existing test suite execution to cover IPC under 32-bit x86. While primarily a CI configuration change, it closes a test coverage gap where 32-bit ABI differences previously went unexercised.

Membership: Carries the Tests label and expands test matrix execution to cover IPC on 32-bit systems.

Factors: security/stability 0, bug 0, performance 0, user value 0, leverage 1