Skip to content

Commit de772cb

Browse files
authored
Merge pull request #8 from MEverett90/main
Publish Artifacts
2 parents df1494d + eb10402 commit de772cb

File tree

6 files changed

+399
-47
lines changed

6 files changed

+399
-47
lines changed

.github/workflows/flutter-engine-arm64.yaml

Lines changed: 39 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -58,14 +58,26 @@ jobs:
5858
--target-sysroot $PWD/build/linux/debian_sid_arm64-sysroot \
5959
--target-toolchain $PWD/flutter/buildtools/linux-x64/clang \
6060
--target-triple aarch64-unknown-linux-gnu
61-
6261
ninja -C out/linux_debug_arm64
6362
64-
- name: Publish Debug
65-
working-directory: src/out/linux_debug_arm64
63+
- name: Prepare Debug Artifacts
6664
run: |
67-
ls -laR exe.unstripped
68-
ls -la *.so
65+
chmod +x scripts/prepare-sdk-aarch64.sh
66+
export SYSROOT=$PWD/src/build/linux/debian_sid_arm64-sysroot
67+
cd src/out/linux_debug_arm64
68+
../../../scripts/prepare-sdk-aarch64.sh
69+
70+
- name: Publish Debug
71+
uses: actions/upload-artifact@v4
72+
with:
73+
name: engine-sdk-debug
74+
path: src/out/linux_debug_arm64/engine-sdk/
75+
76+
- name: Publish Debug Symbols
77+
uses: actions/upload-artifact@v4
78+
with:
79+
name: engine-sdk-debug-symbols
80+
path: src/out/linux_debug_arm64/.debug/
6981

7082
- name: Build Release
7183
working-directory: src
@@ -85,11 +97,18 @@ jobs:
8597
--target-triple aarch64-unknown-linux-gnu
8698
ninja -C out/linux_release_arm64
8799
88-
- name: Publish Release
89-
working-directory: src/out/linux_release_arm64
100+
- name: Prepare Release Artifacts
90101
run: |
91-
ls -laR exe.unstripped
92-
ls -la *.so
102+
chmod +x scripts/prepare-sdk-aarch64.sh
103+
export SYSROOT=$PWD/src/build/linux/debian_sid_arm64-sysroot
104+
cd src/out/linux_release_arm64
105+
../../../scripts/prepare-sdk-aarch64.sh
106+
107+
- name: Publish Release
108+
uses: actions/upload-artifact@v4
109+
with:
110+
name: engine-sdk-release
111+
path: src/out/linux_release_arm64/engine-sdk/
93112

94113
- name: Build Profile
95114
working-directory: src
@@ -109,8 +128,15 @@ jobs:
109128
--target-triple aarch64-unknown-linux-gnu
110129
ninja -C out/linux_profile_arm64
111130
112-
- name: Publish Profile
113-
working-directory: src/out/linux_profile_arm64
131+
- name: Prepare Profile Artifacts
114132
run: |
115-
ls -laR exe.unstripped
116-
ls -la *.so
133+
chmod +x scripts/prepare-sdk-aarch64.sh
134+
export SYSROOT=$PWD/src/build/linux/debian_sid_arm64-sysroot
135+
cd src/out/linux_profile_arm64
136+
../../../scripts/prepare-sdk-aarch64.sh
137+
138+
- name: Publish Profile
139+
uses: actions/upload-artifact@v4
140+
with:
141+
name: engine-sdk-profile
142+
path: src/out/linux_profile_arm64/engine-sdk/

.github/workflows/flutter-engine-armv7hf.yaml

Lines changed: 40 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,24 @@ jobs:
6262
6363
ninja -C out/linux_debug_arm
6464
65-
- name: Publish Debug
66-
working-directory: src/out/linux_debug_arm
65+
- name: Prepare Debug Artifacts
6766
run: |
68-
ls -laR clang_x64/exe.unstripped
69-
ls -la *.so
67+
chmod +x scripts/prepare-sdk-armv7hf.sh
68+
export SYSROOT=$PWD/src/build/linux/debian_sid_arm-sysroot
69+
cd src/out/linux_debug_arm
70+
../../../scripts/prepare-sdk-armv7hf.sh
71+
72+
- name: Publish Debug
73+
uses: actions/upload-artifact@v4
74+
with:
75+
name: engine-sdk-debug
76+
path: src/out/linux_debug_arm/engine-sdk/
77+
78+
- name: Publish Debug Symbols
79+
uses: actions/upload-artifact@v4
80+
with:
81+
name: engine-sdk-debug-symbols
82+
path: src/out/linux_debug_arm/.debug/
7083

7184
- name: Build Release
7285
working-directory: src
@@ -88,11 +101,18 @@ jobs:
88101
89102
ninja -C out/linux_release_arm
90103
91-
- name: Publish Release
92-
working-directory: src/out/linux_release_arm
104+
- name: Prepare Release Artifacts
93105
run: |
94-
ls -laR clang_x64/exe.unstripped
95-
ls -la *.so
106+
chmod +x scripts/prepare-sdk-armv7hf.sh
107+
export SYSROOT=$PWD/src/build/linux/debian_sid_arm-sysroot
108+
cd src/out/linux_release_arm
109+
../../../scripts/prepare-sdk-armv7hf.sh
110+
111+
- name: Publish Release
112+
uses: actions/upload-artifact@v4
113+
with:
114+
name: engine-sdk-release
115+
path: src/out/linux_release_arm/engine-sdk/
96116

97117
- name: Build Profile
98118
working-directory: src
@@ -114,8 +134,16 @@ jobs:
114134
115135
ninja -C out/linux_profile_arm
116136
117-
- name: Publish Profile
118-
working-directory: src/out/linux_profile_arm
137+
- name: Prepare Profile Artifacts
119138
run: |
120-
ls -laR clang_x64/exe.unstripped
121-
ls -la *.so
139+
chmod +x scripts/prepare-sdk-armv7hf.sh
140+
export SYSROOT=$PWD/src/build/linux/debian_sid_arm-sysroot
141+
cd src/out/linux_profile_arm
142+
../../../scripts/prepare-sdk-armv7hf.sh
143+
144+
- name: Publish Profile
145+
uses: actions/upload-artifact@v4
146+
with:
147+
name: engine-sdk-profile
148+
path: src/out/linux_profile_arm/engine-sdk/
149+

.github/workflows/flutter-engine-x86_64.yaml

Lines changed: 78 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -34,50 +34,106 @@ jobs:
3434
3535
PATCH_DIR=$PWD/patches
3636
37-
cd src/flutter
37+
cd src
38+
git apply $PATCH_DIR/0001-clang-toolchain.patch
39+
cd flutter
3840
git apply $PATCH_DIR/0001-export-GPU-symbols.patch
3941
4042
- name: Build Debug
4143
working-directory: src
4244
run: |
4345
export PATH=$PATH:$PWD/../depot_tools
4446
export VPYTHON_VIRTUALENV_ROOT=$PWD/vpython
45-
./flutter/tools/gn --runtime-mode=debug --embedder-for-target --no-build-embedder-examples --enable-impeller-3d --no-goma --no-rbe --no-stripped --no-enable-unittests
46-
ninja -C out/host_debug
47+
./flutter/tools/gn --runtime-mode=debug \
48+
--embedder-for-target \
49+
--no-build-embedder-examples \
50+
--enable-impeller-3d \
51+
--no-goma --no-rbe \
52+
--no-stripped --no-enable-unittests \
53+
--linux-cpu x64 \
54+
--target-os linux \
55+
--target-sysroot $PWD/build/linux/debian_sid_amd64-sysroot \
56+
--target-toolchain $PWD/flutter/buildtools/linux-x64/clang \
57+
--target-triple x86_64-unknown-linux-gnu
58+
ninja -C out/linux_debug_x64
4759
48-
- name: Publish Debug
49-
working-directory: src/out/host_debug
60+
- name: Prepare Debug Artifacts
5061
run: |
51-
ls -laR exe.unstripped
52-
ls -la *.so
53-
ldd libflutter_engine.so
62+
chmod +x scripts/prepare-sdk-x86-64.sh
63+
export SYSROOT=$PWD/src/build/linux/debian_sid_amd64-sysroot
64+
cd src/out/linux_debug_x64
65+
../../../scripts/prepare-sdk-x86-64.sh
66+
67+
- name: Publish Debug
68+
uses: actions/upload-artifact@v4
69+
with:
70+
name: engine-sdk-debug
71+
path: src/out/linux_debug_x64/engine-sdk/
72+
73+
- name: Publish Debug Symbols
74+
uses: actions/upload-artifact@v4
75+
with:
76+
name: engine-sdk-debug-symbols
77+
path: src/out/linux_debug_x64/.debug/
5478

5579
- name: Build Release
5680
working-directory: src
5781
run: |
5882
export PATH=$PATH:$PWD/../depot_tools
5983
export VPYTHON_VIRTUALENV_ROOT=$PWD/vpython
60-
./flutter/tools/gn --runtime-mode=release --embedder-for-target --no-build-embedder-examples --enable-impeller-3d --no-goma --no-rbe --no-stripped --no-enable-unittests
61-
ninja -C out/host_release
84+
./flutter/tools/gn --runtime-mode=release \
85+
--embedder-for-target \
86+
--no-build-embedder-examples \
87+
--enable-impeller-3d \
88+
--no-goma --no-rbe \
89+
--no-stripped --no-enable-unittests \
90+
--linux-cpu x64 \
91+
--target-os linux \
92+
--target-sysroot $PWD/build/linux/debian_sid_amd64-sysroot \
93+
--target-toolchain $PWD/flutter/buildtools/linux-x64/clang \
94+
--target-triple x86_64-unknown-linux-gnu
95+
ninja -C out/linux_release_x64
6296
63-
- name: Publish Release
64-
working-directory: src/out/host_release
97+
- name: Prepare Release Artifacts
6598
run: |
66-
ls -laR exe.unstripped
67-
ls -la *.so
68-
ldd libflutter_engine.so
99+
chmod +x scripts/prepare-sdk-x86-64.sh
100+
export SYSROOT=$PWD/src/build/linux/debian_sid_amd64-sysroot
101+
cd src/out/linux_release_x64
102+
../../../scripts/prepare-sdk-x86-64.sh
103+
104+
- name: Publish Release
105+
uses: actions/upload-artifact@v4
106+
with:
107+
name: engine-sdk-release
108+
path: src/out/linux_release_x64/engine-sdk/
69109

70110
- name: Build Profile
71111
working-directory: src
72112
run: |
73113
export PATH=$PATH:$PWD/../depot_tools
74114
export VPYTHON_VIRTUALENV_ROOT=$PWD/vpython
75-
./flutter/tools/gn --runtime-mode=profile --embedder-for-target --no-build-embedder-examples --enable-impeller-3d --no-goma --no-rbe --no-stripped --no-enable-unittests
76-
ninja -C out/host_profile
115+
./flutter/tools/gn --runtime-mode=profile \
116+
--embedder-for-target \
117+
--no-build-embedder-examples \
118+
--enable-impeller-3d \
119+
--no-goma --no-rbe \
120+
--no-stripped --no-enable-unittests \
121+
--linux-cpu x64 \
122+
--target-os linux \
123+
--target-sysroot $PWD/build/linux/debian_sid_amd64-sysroot \
124+
--target-toolchain $PWD/flutter/buildtools/linux-x64/clang \
125+
--target-triple x86_64-unknown-linux-gnu
126+
ninja -C out/linux_profile_x64
77127
78-
- name: Publish Profile
79-
working-directory: src/out/host_profile
128+
- name: Prepare Profile Artifacts
80129
run: |
81-
ls -laR exe.unstripped
82-
ls -la *.so
83-
ldd libflutter_engine.so
130+
chmod +x scripts/prepare-sdk-x86-64.sh
131+
export SYSROOT=$PWD/src/build/linux/debian_sid_amd64-sysroot
132+
cd src/out/linux_profile_x64
133+
../../../scripts/prepare-sdk-x86-64.sh
134+
135+
- name: Publish Profile
136+
uses: actions/upload-artifact@v4
137+
with:
138+
name: engine-sdk-profile
139+
path: src/out/linux_profile_x64/engine-sdk/

scripts/prepare-sdk-aarch64.sh

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
#! /bin/bash
2+
3+
mkdir -p engine-sdk/{data,bin,lib/aarch64-linux-gnu,usr/lib/aarch64-linux-gnu,usr/include,sdk/lib}
4+
5+
#
6+
# /data
7+
#
8+
cp icudtl.dat engine-sdk/data/
9+
10+
#
11+
# Include
12+
#
13+
cp flutter_embedder.h engine-sdk/usr/include/
14+
15+
#
16+
# SDK
17+
#
18+
cp -r flutter_patched_sdk engine-sdk/sdk/
19+
if [ -e shader_lib ]; then
20+
cp -r shader_lib engine-sdk/sdk/lib
21+
fi
22+
23+
#
24+
# /bin
25+
#
26+
cp exe.unstripped/* engine-sdk/bin/
27+
28+
#
29+
# /lib
30+
#
31+
export cwd=$(pwd)
32+
cd so.unstripped
33+
for file in *; do
34+
cp "$file" $cwd/engine-sdk/lib/
35+
cp "../$file.TOC" $cwd/engine-sdk/sdk/lib/
36+
done
37+
cd $cwd
38+
cp $SYSROOT/lib/ld-linux-aarch64.so* engine-sdk/lib/
39+
40+
#
41+
# /usr/lib/$ARCH-linux-gnu
42+
#
43+
cp $SYSROOT/lib/aarch64-linux-gnu/libdl-* engine-sdk/lib/aarch64-linux-gnu/
44+
cp $SYSROOT/usr/lib/aarch64-linux-gnu/libdl.so* engine-sdk/usr/lib/aarch64-linux-gnu/
45+
cp -d $SYSROOT/lib/aarch64-linux-gnu/libdl.so* engine-sdk/lib/aarch64-linux-gnu/
46+
cp -d $SYSROOT/usr/lib/aarch64-linux-gnu/libdl-* engine-sdk/usr/lib/aarch64-linux-gnu/
47+
cp $SYSROOT/lib/aarch64-linux-gnu/libpthread-* engine-sdk/lib/aarch64-linux-gnu/
48+
cp $SYSROOT/usr/lib/aarch64-linux-gnu/libpthread-* engine-sdk/usr/lib/aarch64-linux-gnu/
49+
cp -d $SYSROOT/lib/aarch64-linux-gnu/libpthread.so* engine-sdk/lib/aarch64-linux-gnu/
50+
cp -d $SYSROOT/usr/lib/aarch64-linux-gnu/libpthread.so* engine-sdk/usr/lib/aarch64-linux-gnu/
51+
cp $SYSROOT/lib/aarch64-linux-gnu/libm-* engine-sdk/lib/aarch64-linux-gnu/
52+
cp $SYSROOT/usr/lib/aarch64-linux-gnu/libm-* engine-sdk/usr/lib/aarch64-linux-gnu/
53+
cp -d $SYSROOT/lib/aarch64-linux-gnu/libm.so* engine-sdk/lib/aarch64-linux-gnu/
54+
cp -d $SYSROOT/usr/lib/aarch64-linux-gnu/libm.so* engine-sdk/usr/lib/aarch64-linux-gnu/
55+
cp $SYSROOT/lib/aarch64-linux-gnu/libc-* engine-sdk/lib/aarch64-linux-gnu/
56+
cp $SYSROOT/usr/lib/aarch64-linux-gnu/libc-* engine-sdk/usr/lib/aarch64-linux-gnu/
57+
cp -d $SYSROOT/lib/aarch64-linux-gnu/libc.so* engine-sdk/lib/aarch64-linux-gnu/
58+
cp -d $SYSROOT/usr/lib/aarch64-linux-gnu/libc.so* engine-sdk/usr/lib/aarch64-linux-gnu/
59+
60+
#
61+
# Strip Components
62+
#
63+
export CLANG_BIN_PATH=../../flutter/buildtools/linux-x64/clang/bin
64+
mkdir -p .debug
65+
for file in $(pwd)/engine-sdk/bin/*; do
66+
if [ -f "$file" ]; then
67+
$CLANG_BIN_PATH/llvm-strip --only-keep-debug -o $file.debug $file
68+
$CLANG_BIN_PATH/llvm-strip $file
69+
fi
70+
done
71+
mv $(pwd)/engine-sdk/bin/*.debug $(pwd)/.debug/
72+
for file in $(pwd)/engine-sdk/lib/*; do
73+
if [ -f "$file" ]; then
74+
$CLANG_BIN_PATH/llvm-strip --only-keep-debug -o $file.debug $file
75+
$CLANG_BIN_PATH/llvm-strip $file
76+
fi
77+
done
78+
mv $(pwd)/engine-sdk/lib/*.debug $(pwd)/.debug/

0 commit comments

Comments
 (0)