Skip to content

feat: Flutter 3.44.0 engine upgrade + engine patch infrastructure#12

Closed
DenisovAV wants to merge 4 commits into
fluttertv:mainfrom
DenisovAV:feat/engine-patch-infra
Closed

feat: Flutter 3.44.0 engine upgrade + engine patch infrastructure#12
DenisovAV wants to merge 4 commits into
fluttertv:mainfrom
DenisovAV:feat/engine-patch-infra

Conversation

@DenisovAV
Copy link
Copy Markdown
Contributor

Summary

  • Upgrades pinned Flutter SDK to 3.44.0 (559ffa3f) and tvOS engine artifacts to v1.0.0-flutter3.44.0
  • Bumps packages/flutter_tvos to 1.0.5
  • Adds engine/ directory with reproducible build infrastructure for the tvOS engine

Engine patch infrastructure (engine/)

The tvOS engine build process is now fully documented and reproducible inside this repo — no more relying on the MAUstaoglu/flutter_upstream_tvos_engine fork manually.

  • engine/build.sh — main script: gclient sync → patch → gn/ninja → package artifacts → optional gh release create
  • engine/generate_patches.sh — generates patches from an existing workspace after manual conflict resolution
  • engine/gclient_config.py.gclient template with {FLUTTER_COMMIT} placeholder
  • engine/flutter3.44.0/ — 15 patches + verbatim darwin_ios_source/ files for 3.44.0
  • engine/flutter3.41.9/ — archived patches for 3.41.9
  • .github/workflows/engine-build.yml — manual workflow_dispatch trigger on self-hosted runner

Device build fixes

  • Pass -allowProvisioningUpdates to xcodebuild for device builds (automatic signing)
  • Fix Team ID in example project.pbxproj (866PPL96Z42U7DD3DNRL)
  • Remove UIMainStoryboardFile from example Info.plist (not needed with programmatic entry point)

Test plan

  • 192/192 tests pass (dart test test/general/)
  • Simulator build verified: flutter-tvos run on tvOS simulator
  • Device build verified: flutter-tvos run --release on physical Apple TV (AppleTV6,2)
  • Engine artifacts published to fluttertv/engine-artifacts as v1.0.0-flutter3.44.0

DenisovAV added 4 commits May 24, 2026 13:48
Update pinned versions (flutter SHA 559ffa3f, engine v1.0.0-flutter3.44.0),
fix BuildCommand breaking changes (11 new required params in 3.44.0), bump
flutter_tvos to 1.0.5, update docs and changelogs.
Add reproducible tvOS engine build system to eliminate dependency on the
MAUstaoglu/flutter_upstream_tvos_engine fork. Includes:
- engine/build.sh: gclient sync + patch + build all 6 variants + package + publish
- engine/gclient_config.py: generates .gclient for a given flutter SHA
- engine/generate_patches.sh: captures diffs from a built workspace into numbered patches
- engine/flutter3.44.0/: 15 patches + 7 new tvOS source files for Flutter 3.44.0
- engine/flutter3.41.9/: archived patches for Flutter 3.41.9
- .github/workflows/engine-build.yml: self-hosted workflow_dispatch CI trigger
- Pass -allowProvisioningUpdates to xcodebuild for device builds so
  the CLI can provision the device automatically on first run
- Fix Team ID in example project.pbxproj (866PPL96Z4 → 2U7DD3DNRL)
- Remove UIMainStoryboardFile from example Info.plist (not needed with
  programmatic entry point on tvOS)
@DenisovAV
Copy link
Copy Markdown
Contributor Author

Removing engine/ directory from CLI repo — will move to a separate fluttertv/engine repo.

@DenisovAV DenisovAV closed this May 25, 2026
@DenisovAV DenisovAV deleted the feat/engine-patch-infra branch May 25, 2026 17:16
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