Skip to content

ci: one pinned Xcode, macOS only, every product in the consumer check - #28

Merged
Paullo9 merged 5 commits into
mainfrom
claude/project-thread-mxfvqz
Oct 29, 2026
Merged

Paullo9 merged 5 commits into
mainfrom
claude/project-thread-mxfvqz

Conversation

@Paullo9

@Paullo9 Paullo9 commented Oct 28, 2026

Copy link
Copy Markdown
Contributor

Requested by Paul · project thread

Fixes #27
Part of #12

  • One toolchain: CI (was macos-15 + Xcode 26.0) and Docs (was macos-latest + newest Xcode) both run macos-26 with Xcode 26.6 via DEVELOPER_DIR, like the apps. The test job name is unchanged.
  • macOS only (iOS is declared in Package.swift but FormatoCore does not build for iOS #27): Package.swift drops .iOS(.v18); FormatoCore/GuardedXML.swift uses XMLDocument, which is macOS-only, so the package never built for iOS. The README requirements paragraph and the HDF5 DocC article now say macOS only (two sentences).
  • Consumer check covers every product: adds FormatoEMPAD, FormatoMSA, FormatoMIB, Formato and FormatoPeek, one public read each on the committed fixtures.
  • xcframework-url job: resolves the libhdf5 release zips by URL and checksum (no FORMATO_LOCAL_XCFRAMEWORKS) and builds FormatoHDF5 against them.
  • Docs: pages: write and id-token: write move from workflow to the deploy job.

Left in #12: rebuilding the xcframework zips without the ._* entries and a codesign --verify --deep --strict check of an archived app need a Mac session; and Paul re-runs Docs for the newest tag.


Generated by Claude Code

CI ran macos-15 + Xcode 26.0 and Docs macos-latest + the newest Xcode; both
now run macos-26 with Xcode 26.6 via DEVELOPER_DIR, as the apps do.
Package.swift drops the iOS 18 claim: FormatoCore's GuardedXML uses
Foundation's macOS-only XMLDocument, so the package never built for iOS
(#27); the README and the HDF5 article say macOS only. The consumer check
now imports and reads through every product (adds FormatoEMPAD, FormatoMSA,
FormatoMIB, Formato, FormatoPeek). A new xcframework-url job resolves the
libhdf5 release zips by URL and checksum and builds FormatoHDF5 against
them. Docs grants the pages permissions to the deploy job only.

Fixes #27
Part of #12

Done: one toolchain, macOS only, consumer check over every product, URL resolution in CI. Next: a Mac session rebuilds the xcframework zips without AppleDouble entries and checks one archived app with codesign --strict.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VkKZEWRjvbRGe75ep8jhBn
@Paullo9 Paullo9 self-assigned this Oct 28, 2026
The free plan's macOS runners are scarce. The required test job keeps its
name and still runs on every pull request; the added consumer, iOS and
URL-resolution builds move to a job that runs on push, tag and by hand.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VkKZEWRjvbRGe75ep8jhBn
Xcode 26.6's type checker gives up on `#expect(x.doubles() == (0..<12).map {
Double($0 * k + c) })` ("unable to type-check this expression in reasonable
time"), which Xcode 26.0 accepted. Explicit closure types; the expected
values are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VkKZEWRjvbRGe75ep8jhBn
…r check

FormatoLazySignal has no shape of its own; its array does. Fixes the build
of the EMPAD and MIB checks added in this PR.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VkKZEWRjvbRGe75ep8jhBn
The file says NPOINTS 20 but carries 21 data rows; the reader, like
RosettaSciIO (msa-pins.json: size 21), keeps all 21.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VkKZEWRjvbRGe75ep8jhBn
@Paullo9
Paullo9 enabled auto-merge (squash) October 29, 2026 07:47
@Paullo9
Paullo9 merged commit 0b25046 into main Oct 29, 2026
8 checks passed
@Paullo9
Paullo9 deleted the claude/project-thread-mxfvqz branch October 29, 2026 07:48
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.

iOS is declared in Package.swift but FormatoCore does not build for iOS

2 participants