Skip to content

ci: consume Heart's canonical arcticpy install instead of a local copy - #18

Merged
Jammy2211 merged 1 commit into
mainfrom
feature/arcticpy-install-standardisation
Aug 24, 2026
Merged

ci: consume Heart's canonical arcticpy install instead of a local copy#18
Jammy2211 merged 1 commit into
mainfrom
feature/arcticpy-install-standardisation

Conversation

@Jammy2211

Copy link
Copy Markdown
Collaborator

Part of PyAutoLabs/PyAutoHeart#170. Consumer leg — blocked on PyAutoLabs/PyAutoHeart#171 merging first (see Merge order below).

The arcticpy install recipe had drifted into four shell copies across the CTI repos with no single owner. PyAutoHeart now owns it as a composite action; this repo drops its copy.

Changes

  • .github/workflows/smoke_tests.yml passes arcticpy: true, so Heart's smoke-tests.yml runs install-arcticpy before this workspace's epilogue.
  • .github/scripts/smoke_install.sh loses the recipe, keeping only what is genuinely workspace-specific (the chain install and the autonerves re-pin).
  • AGENTS.md — the documented recipe corrected.

The coupling this removes

smoke_install.sh did not install setuptools, and the task that prompted this described it as one runner-image change from breaking. That framing isn't accurate: Heart's smoke-tests.yml runs pip install --upgrade pip setuptools wheel immediately before invoking the epilogue, so setuptools was present.

The real defect is weaker but still worth removing — the epilogue's correctness depended implicitly on a step in a different repository's workflow, with nothing on either side stating the dependency. Reordering or trimming that Heart step would have silently broken CTI smoke. The canonical action is self-contained, so the coupling is gone rather than merely documented.

AGENTS.md corrections

The recipe said "after numpy+cython" and omitted three things, each reproduced against a clean build of arcticpy 2.6:

  • setuptools — a build dependency --no-build-isolation will not supply (it doesn't read arcticpy's build-system.requires). Without it: BackendUnavailable: Cannot import 'setuptools.build_meta'. Python 3.12+ venvs no longer ship setuptools.
  • scipy and matplotlibruntime imports of arcticpy/read_noise.py, which __init__.py imports. --no-deps suppresses them, so without them a successful build still fails at import arcticpy with ModuleNotFoundError.

Merge order

Heart's PR must land first — this branch's arcticpy: true is only meaningful once smoke-tests.yml on Heart's main accepts that input, and the action must exist there. Expect smoke CI here to fail until then.

Verification

smoke_install.sh passes bash -n; smoke_tests.yml parses as YAML. The end-to-end proof of the recipe itself (clean-container build, negative case, and a CTI trail with charge conserved) is in PyAutoLabs/PyAutoHeart#171, which owns the recipe now.


Generated by Claude Code

The arcticpy recipe had drifted into four shell copies across the CTI repos
with no single owner. Heart now owns it as a composite action; this repo drops
its copy and asks for it.

- .github/workflows/smoke_tests.yml passes `arcticpy: true`, so Heart's
  smoke-tests.yml runs install-arcticpy before this workspace's epilogue.
- .github/scripts/smoke_install.sh loses the recipe, keeping only what is
  genuinely workspace-specific (the chain install and the autonerves re-pin).
  This also removes a silent cross-repo coupling: the epilogue's correctness
  depended on a `pip install --upgrade pip setuptools wheel` line in Heart's
  workflow, with nothing stating the dependency.
- AGENTS.md: the documented recipe said "after numpy+cython" and omitted
  setuptools, which is a BUILD dependency that --no-build-isolation will not
  supply and that Python 3.12+ venvs no longer ship. It also omitted scipy and
  matplotlib, which arcticpy/read_noise.py imports at import time and which
  --no-deps suppresses — without them `import arcticpy` raises
  ModuleNotFoundError. Recipe corrected and verified against a clean build.

Refs PyAutoLabs/PyAutoHeart#170

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018nDAxBEavkzb6Zkz1cYHef
@Jammy2211
Jammy2211 merged commit 01f1d72 into main Aug 24, 2026
3 checks passed
@Jammy2211
Jammy2211 deleted the feature/arcticpy-install-standardisation branch August 25, 2026 19:01
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.

2 participants