mirror of
https://github.com/hanzo-templates/flutter.git
synced 2026-10-30 20:51:30 +00:00
The catalogue shipped 71 web templates and one EMPTY `mobile` repo, so "build an app" had no starting point on the platform people actually ship to. This is the iOS lane — Expo/React Native and Flutter for cross-platform, SwiftUI for native. The constraint that shaped every file here: an iOS archive needs macOS + Xcode + a signing identity, and our arc fleet has none. hanzoai has 519 registered runners and every one reports `os: linux`; luxfi has 151, same story; zooai has none. The only macOS builds in the org today (hanzoai/world build-desktop.yml) run on GitHub-HOSTED macos-14, which is exactly what the house CI rule says not to do. So `hanzo.yml` declares only what a Linux arc runner can genuinely execute — typecheck + web bundle for Expo, analyze + test + web for Flutter, `swiftc -parse` for SwiftUI — and the macOS archive lives in a separate `workflow_dispatch`-only `ios.yml`. A job pinned to a label no runner advertises would sit queued forever if it fired on push; parking it is honest, a permanently-yellow check is not. The README of every template states the gap and the one command that closes it. Same reasoning on the demos. Expo and Flutter both have a real web target, so `<slug>.hanzo.app` serves the SAME source the simulator runs. SwiftUI has no web target, so those two templates ship with no demo link rather than a screenshot pretending to be one. Upstreams are permissive only and recorded per template: expo/expo templates (MIT), flutter/samples (BSD-3-Clause), XcodeGen (MIT). Second measured gap, found while wiring this up: `hanzo-templates` is not in arcd's `orgs:` list either (hanzoai, luxfi, zooai, parsdao, zenlm), so the Linux jobs would queue with no runner too. Both gaps are one installer re-run, no code change; both are spelled out in every README rather than left to be discovered on the first red build. Third gap, found by probing rather than assuming, and FIXED here: every run in this org died as `startup_failure` with no logs and no annotation. A bare `runs-on: [self-hosted, linux]` probe queued fine while the same job importing hanzoai/ci failed identically at @v1 and at a pinned SHA — so it was never the tag. The org defaulted GITHUB_TOKEN to `read`, and the reusable declares `permissions: packages: write`; a caller cannot exceed the org maximum, so GitHub kills the run before creating a job. hanzo-templates now defaults to `write` like hanzoai/luxfi/zooai, and runs reach `queued` — the honest state, waiting on gap 2.
120 lines
4.6 KiB
XML
120 lines
4.6 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<Scheme
|
|
LastUpgradeVersion = "1510"
|
|
version = "1.3">
|
|
<BuildAction
|
|
parallelizeBuildables = "YES"
|
|
buildImplicitDependencies = "YES">
|
|
<PreActions>
|
|
<ExecutionAction
|
|
ActionType = "Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
|
|
<ActionContent
|
|
title = "Run Prepare Flutter Framework Script"
|
|
scriptText = "/bin/sh "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" prepare ">
|
|
<EnvironmentBuildable>
|
|
<BuildableReference
|
|
BuildableIdentifier = "primary"
|
|
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
|
|
BuildableName = "Runner.app"
|
|
BlueprintName = "Runner"
|
|
ReferencedContainer = "container:Runner.xcodeproj">
|
|
</BuildableReference>
|
|
</EnvironmentBuildable>
|
|
</ActionContent>
|
|
</ExecutionAction>
|
|
</PreActions>
|
|
<BuildActionEntries>
|
|
<BuildActionEntry
|
|
buildForTesting = "YES"
|
|
buildForRunning = "YES"
|
|
buildForProfiling = "YES"
|
|
buildForArchiving = "YES"
|
|
buildForAnalyzing = "YES">
|
|
<BuildableReference
|
|
BuildableIdentifier = "primary"
|
|
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
|
|
BuildableName = "Runner.app"
|
|
BlueprintName = "Runner"
|
|
ReferencedContainer = "container:Runner.xcodeproj">
|
|
</BuildableReference>
|
|
</BuildActionEntry>
|
|
</BuildActionEntries>
|
|
</BuildAction>
|
|
<TestAction
|
|
buildConfiguration = "Debug"
|
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
customLLDBInitFile = "$(SRCROOT)/Flutter/ephemeral/flutter_lldbinit"
|
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
<MacroExpansion>
|
|
<BuildableReference
|
|
BuildableIdentifier = "primary"
|
|
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
|
|
BuildableName = "Runner.app"
|
|
BlueprintName = "Runner"
|
|
ReferencedContainer = "container:Runner.xcodeproj">
|
|
</BuildableReference>
|
|
</MacroExpansion>
|
|
<Testables>
|
|
<TestableReference
|
|
skipped = "NO"
|
|
parallelizable = "YES">
|
|
<BuildableReference
|
|
BuildableIdentifier = "primary"
|
|
BlueprintIdentifier = "331C8080294A63A400263BE5"
|
|
BuildableName = "RunnerTests.xctest"
|
|
BlueprintName = "RunnerTests"
|
|
ReferencedContainer = "container:Runner.xcodeproj">
|
|
</BuildableReference>
|
|
</TestableReference>
|
|
</Testables>
|
|
</TestAction>
|
|
<LaunchAction
|
|
buildConfiguration = "Debug"
|
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
customLLDBInitFile = "$(SRCROOT)/Flutter/ephemeral/flutter_lldbinit"
|
|
launchStyle = "0"
|
|
useCustomWorkingDirectory = "NO"
|
|
ignoresPersistentStateOnLaunch = "NO"
|
|
debugDocumentVersioning = "YES"
|
|
debugServiceExtension = "internal"
|
|
enableGPUValidationMode = "1"
|
|
allowLocationSimulation = "YES">
|
|
<BuildableProductRunnable
|
|
runnableDebuggingMode = "0">
|
|
<BuildableReference
|
|
BuildableIdentifier = "primary"
|
|
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
|
|
BuildableName = "Runner.app"
|
|
BlueprintName = "Runner"
|
|
ReferencedContainer = "container:Runner.xcodeproj">
|
|
</BuildableReference>
|
|
</BuildableProductRunnable>
|
|
</LaunchAction>
|
|
<ProfileAction
|
|
buildConfiguration = "Profile"
|
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
savedToolIdentifier = ""
|
|
useCustomWorkingDirectory = "NO"
|
|
debugDocumentVersioning = "YES">
|
|
<BuildableProductRunnable
|
|
runnableDebuggingMode = "0">
|
|
<BuildableReference
|
|
BuildableIdentifier = "primary"
|
|
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
|
|
BuildableName = "Runner.app"
|
|
BlueprintName = "Runner"
|
|
ReferencedContainer = "container:Runner.xcodeproj">
|
|
</BuildableReference>
|
|
</BuildableProductRunnable>
|
|
</ProfileAction>
|
|
<AnalyzeAction
|
|
buildConfiguration = "Debug">
|
|
</AnalyzeAction>
|
|
<ArchiveAction
|
|
buildConfiguration = "Release"
|
|
revealArchiveInOrganizer = "YES">
|
|
</ArchiveAction>
|
|
</Scheme>
|