1+
2+
3+ name : Build Flutter Engine
4+
5+ on :
6+ push :
7+ branches :
8+ - experimental
9+
10+
11+ jobs :
12+ build :
13+ runs-on : macos-latest
14+
15+ steps :
16+
17+ - name : Setup depot_tools
18+ shell : bash
19+ run : |
20+ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
21+
22+ echo "${{ github.workspace}}/depot_tools" >> $GITHUB_PATH
23+
24+ - name : Checkout source
25+ shell : bash
26+ run : |
27+ mkdir -p engine
28+ cat > engine/.gclient <<- EOF
29+ solutions = [
30+ {
31+ "managed": False,
32+ "name": "src/flutter",
33+ "url": "https://github.com/abaltatech/flutter-engine.git",
34+ "custom_deps": {},
35+ "deps_file": "DEPS",
36+ "safesync_url": "",
37+ },
38+ ]
39+ EOF
40+
41+ - name : Setup environment
42+ shell : bash
43+ working-directory : engine
44+ run : |
45+ gclient sync
46+
47+ ls -la src/
48+
49+ # - name: Fetch source
50+ # shell: bash
51+ # working-directory: engine/src/flutter
52+ # run: |
53+ # git pull origin main
54+
55+ # - name: Re-fetch dependencies
56+ # shell: bash
57+ # working-directory: engine
58+ # run: |
59+ # gclient sync
60+
61+ - name : Generate build files
62+ shell : bash
63+ working-directory : engine/src
64+ run : |
65+ ./flutter/tools/gn --unoptimized
66+ ./flutter/tools/gn --ios --unoptimized
67+
68+ # final list:
69+ # ./flutter/tools/gn --unoptimized --runtime-mode=debug
70+ # ./flutter/tools/gn --ios --unoptimized --runtime-mode=debug
71+ # ./flutter/tools/gn --ios --unoptimized --runtime-mode=profile
72+ # ./flutter/tools/gn --ios --unoptimized --runtime-mode=release
73+ # ./flutter/tools/gn --ios --runtime-mode=debug
74+ # ./flutter/tools/gn --ios --runtime-mode=profile
75+ # ./flutter/tools/gn --ios --runtime-mode=release
76+
77+ - name : Build
78+ shell : bash
79+ working-directory : engine/src
80+ run : |
81+ ninja -C out/ios_debug_unopt
82+ ninja -C out/host_debug_unopt
83+ # find . -mindepth 1 -maxdepth 1 -type d | xargs -n 1 sh -c 'ninja -C $0 || exit 255'
84+
85+ - uses : actions/upload-artifact@v4
86+ with :
87+ name : gen_snaphot
88+ path : engine/src/out/*/gen_*
89+
90+ - uses : actions/upload-artifact@v4
91+ with :
92+ name : framework
93+ path : engine/src/out/*/*.xcframework
0 commit comments