xworkmate-app/scripts
Haitao Pan c384ef968f ci: TestFlight opt-in toggle + Xcode 27 build fixes (#54)
* ci: gate TestFlight behind opt-in toggle + Xcode 27 build fixes

TestFlight is now opt-in (default OFF). A workflow_dispatch boolean
`enable_testflight` (or the `ENABLE_TESTFLIGHT` repo variable) drives a
`prepare.outputs.testflight_enabled` flag that gates the macOS
app-store-pkg build leg and both testflight_ios/testflight_macos upload
legs. Missing Apple signing secrets no longer fail the normal DMG/IPA
release path (package-macos-app-store-pkg.sh hard-exits without them).

Xcode 27 build compatibility:
- Align Apple deployment targets so no pod sits below the app minimum
  (Xcode 27 rejects this): macOS pods + RunnerTests -> 15.6, iOS pods
  -> 15.5 to match the Runner targets.
- Add a `lipo` shim (scripts/xcode-tools/lipo) wired onto PATH in the
  iOS/macOS build phases; Xcode 27 only accepts one `-verify_arch`
  architecture per call while Flutter passes them all at once.
- macOS project hygiene: correct PrivacyInfo.xcprivacy path, set app
  display name + LSApplicationCategoryType.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* test: make temp-dir cleanup resilient to concurrent-write races

The assistant execution target tests deleted their temp HOME/workspace
dirs with a raw recursive delete in addTearDown. A background flush
(e.g. controller dispose still persisting state) can keep writing into
the dir while the delete walks it, so the delete races and fails with
"Directory not empty" (errno 39), failing the test on CI.

Route all unguarded teardown deletes through the existing
_resilientDelete helper (re-check existence + retry), and harden that
helper so its final fallback never re-throws — a temp-dir cleanup
failure must never fail a test.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Haitao Pan <manbuzhe2009@qq.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 07:29:23 +08:00
..
ci ci: wire macOS profile from Vault (#51) 2026-06-29 22:15:08 +08:00
docs docs: add public API engineering docs 2026-04-16 13:54:33 +08:00
xcode-tools ci: TestFlight opt-in toggle + Xcode 27 build fixes (#54) 2026-06-30 07:29:23 +08:00
check-apple-export-compliance.sh chore: add ios release verification assets 2026-05-25 08:54:48 +08:00
check-no-app-ffi.sh fix(ci): drop ripgrep dependency from check-no-app-ffi.sh 2026-06-05 19:29:39 +08:00
check-xworkmate-bridge-service.sh chore(bridge): update SSH inspection script to target xworkmate-bridge.svc.plus and Caddy config 2026-04-17 16:28:22 +08:00
codex-acp-service-common.sh feat(scripts): add codex acp native service helpers 2026-03-25 14:21:46 +08:00
codex-acp-service-linux.sh feat(scripts): add codex acp native service helpers 2026-03-25 14:21:46 +08:00
codex-acp-service-macos.sh feat(scripts): add codex acp native service helpers 2026-03-25 14:21:46 +08:00
codex-acp-service.sh feat(scripts): add codex acp native service helpers 2026-03-25 14:21:46 +08:00
create-dmg.sh fix(build): improve DMG styling stability and Finder volume discovery 2026-04-19 15:21:58 +08:00
ensure-framework-dsyms.sh chore: add ios release verification assets 2026-05-25 08:54:48 +08:00
install-flutter-mac-dmg.sh fix(build): resolve macOS packaging and installation failures 2026-04-19 12:45:47 +08:00
install-xworkmate-app.sh [backport] installer fixes (#47 #48 #49) to release/v1.1.5 (#50) 2026-06-29 17:42:04 +08:00
linux-postinst.sh feat: add linux desktop parity scaffolding 2026-03-16 17:58:37 +08:00
linux-postrm.sh feat: add linux desktop parity scaffolding 2026-03-16 17:58:37 +08:00
package-android-apk.sh Add multi-platform build and release workflow 2026-03-21 10:08:12 +08:00
package-flutter-mac-app.sh fix: allow unsigned macos CI packaging 2026-06-18 17:16:13 +08:00
package-ios-ipa.sh fix: repair cross-platform release CI gating 2026-04-14 13:48:04 +08:00
package-linux-deb.sh fix: repair cross-platform release CI gating 2026-04-14 13:48:04 +08:00
package-linux-rpm.sh fix: repair cross-platform release CI gating 2026-04-14 13:48:04 +08:00
package-linux.sh fix: repair cross-platform release CI gating 2026-04-14 13:48:04 +08:00
package-macos-app-store-pkg.sh ci: wire macOS profile from Vault (#51) 2026-06-29 22:15:08 +08:00
package-windows-msi.ps1 fix: repair cross-platform release CI gating 2026-04-14 13:48:04 +08:00
validate-macos-app-bundle.sh fix: support macos validation on bash 3 2026-06-18 17:27:05 +08:00