Skip to content

docs: prebuilt CI deps — ADR-0049 + CLAUDE.md refresh - #282

Merged
ofloveandhate merged 1 commit into
developfrom
docs/prebuilt-ci-deps
Jul 8, 2026
Merged

docs: prebuilt CI deps — ADR-0049 + CLAUDE.md refresh#282
ofloveandhate merged 1 commit into
developfrom
docs/prebuilt-ci-deps

Conversation

@ofloveandhate

Copy link
Copy Markdown
Contributor

Documents the prebuilt-deps CI landed this session. Docs-only (**/*.md → paths-ignore) → no CI, instant merge.

  • ADR-0049 — the architecture + rationale: image (Linux) / tarballs (macOS) / conda (Windows); the toolchain-key tag as the ABI assert; .github/ci-deps-versions.env single-sourcing that retriggers the prebuild; why not actions/cache (10 GB); the empty-matrix guard.
  • CLAUDE.md — fixes the stale claims (per-run Boost/eigenpy rebuild → prebuilt; stock manylinux → custom GHCR image; pyproject → VERSION file; adds the 0-skiptests note).

🤖 Generated with Claude Code

The wheel matrix no longer recompiles Boost/eigenpy per run; deps are prebuilt once per
toolchain (Linux = GHCR image, macOS = release tarballs, Windows = conda-forge) and consumed
by CI. Document it:

- ADR-0049: why an image / tarballs / conda per platform; the toolchain-key tag as the ABI
  assert; single-sourced versions (.github/ci-deps-versions.env) that retrigger the prebuild;
  why NOT actions/cache (10 GB ceiling); the empty-matrix guard; parallel matrix+assemble.
- CLAUDE.md: fix the now-stale claims -- Boost.Python/eigenpy prebuilt (not per-run), the
  custom ghcr.io/bertiniteam/b2-manylinux-deps image (not stock manylinux), VERSION file (not
  pyproject) as the version source, and 0-skiptests via bundled OpenMPI + mpi4py.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ofloveandhate
ofloveandhate merged commit c3d5d93 into develop Jul 8, 2026
1 check passed
ofloveandhate added a commit that referenced this pull request Jul 9, 2026
The changelog had drifted badly: the last entry was **2.0.1**, while
**2.0.2**, the entire
**3.0.0** modernization, and the **3.1.0** line had all shipped — with
their notes living only
in commit messages, PRs, and GitHub Releases. This consolidates them
back into `CHANGELOG.md`,
newest-first, in the existing *Keep a Changelog* format.

### New entries
- **[3.1.0] – 2026-07-09** — NumPy interop for the mp dtypes (#306), the
Python UI
quality-of-life batch (#293#304, #305), `ZeroDimConfig.recall` (#308),
prebuilt CI deps
  (ADR-0049, #282), and docs-store Pages (ADR-0050, #291, #292).
- **[3.0.0] – 2026-07-07** — reworked from the hand-written v3.0.0
release notes (~70 PRs; full
  themed index in #238) into Added / Changed / Fixed sections.
- **[2.0.2] – 2026-05-22** — the packaging/CI maintenance entry that was
never recorded.

Older 1.0.x / 2.0.1 entries and the commented template are untouched.

### Why now (load-bearing)
`publish.yml`'s `github-release` job builds the release body from the
**top** `CHANGELOG.md`
block. That block was the stale **[2.0.1]** — so a final `v3.1.0` tag
would have published 2.0.1's
notes as the 3.1.0 release. With this merged, the extraction yields
exactly the **[3.1.0]** block
(verified locally against the workflow's extraction logic).

Docs-only (`**/*.md` → `paths-ignore`), so this runs no CI. **Merge
before tagging `v3.1.0`.**
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant