Skip to content

Build xcframeworks on pull requests and tags - #1

Open
demrom wants to merge 3 commits into
holzschu:trunkfrom
demrom:ci/xcframework-builds
Open

demrom wants to merge 3 commits into
holzschu:trunkfrom
demrom:ci/xcframework-builds

Conversation

@demrom

@demrom demrom commented Oct 23, 2026 •

Copy link
Copy Markdown

Build the texlive-source xcframeworks on pull requests and manual runs, then publish them on v* tags. Part of holzschu/a-shell#1114.

Build the 21 frameworks from build_command.sh for arm64 iOS and the universal arm64/x86_64 Simulator, with same-source native WEB tools and checksum-pinned ios_system inputs. Configure and build the Simulator once per architecture, then combine the framework binaries with lipo. Disable the unshipped LuaJIT HB engine separately from LuaJITTeX. Use the matching Simulator platform plist and remove its device capability restriction. Keep the 21 packaged framework names unchanged. Remove the downloaded ios_system dependency after the builds so the product-only packaging audit excludes it.

Use the cleanup sources supplied in bfd21c3, with generated-header prerequisites for the cleanup objects. Define _DARWIN_C_SOURCE in iOS CPPFLAGS so ios_error.h can use sig_t after Lua's lprefix.h selects _XOPEN_SOURCE 600. Adapt the framework plist template from public lib-tex commit b815a302235e78215c8706c98792471e197f8431 and disable unselected xdvipsk. No reconstructed cleanup source remains in this diff.

The workflow skips Markdown-only pull requests, uploads ZIPs with Swift checksums and release.md, and checks exact slice identifiers, actual architectures and platforms. A separate upstream-only release job has write permission and refuses to replace an existing asset. The README documents the release and consuming binaryTarget updates.

Validation: fork run https://github.com/demrom/texlive-source/actions/runs/39944440341 passed at 49c3d01eb689f99e393b9aa8f13881ffc6e72f6d. All 21 downloaded ZIPs passed SHA256/Swift checksum equality and archive integrity checks. Independent audits verified exactly ios-arm64 and ios-arm64_x86_64-simulator, their actual arm64 and universal Simulator binaries, per-architecture platforms, and portable dependencies. These checks qualify the framework artifacts; app and phone behavior are separate.

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