Skip to content

Publish Artifacts #8

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 39 additions & 13 deletions .github/workflows/flutter-engine-arm64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,14 +58,26 @@ jobs:
--target-sysroot $PWD/build/linux/debian_sid_arm64-sysroot \
--target-toolchain $PWD/flutter/buildtools/linux-x64/clang \
--target-triple aarch64-unknown-linux-gnu

ninja -C out/linux_debug_arm64

- name: Publish Debug
working-directory: src/out/linux_debug_arm64
- name: Prepare Debug Artifacts
run: |
ls -laR exe.unstripped
ls -la *.so
chmod +x scripts/prepare-sdk-aarch64.sh
export SYSROOT=$PWD/src/build/linux/debian_sid_arm64-sysroot
cd src/out/linux_debug_arm64
../../../scripts/prepare-sdk-aarch64.sh

- name: Publish Debug
uses: actions/upload-artifact@v4
with:
name: engine-sdk-debug
path: src/out/linux_debug_arm64/engine-sdk/

- name: Publish Debug Symbols
uses: actions/upload-artifact@v4
with:
name: engine-sdk-debug-symbols
path: src/out/linux_debug_arm64/.debug/

- name: Build Release
working-directory: src
Expand All @@ -85,11 +97,18 @@ jobs:
--target-triple aarch64-unknown-linux-gnu
ninja -C out/linux_release_arm64

- name: Publish Release
working-directory: src/out/linux_release_arm64
- name: Prepare Release Artifacts
run: |
ls -laR exe.unstripped
ls -la *.so
chmod +x scripts/prepare-sdk-aarch64.sh
export SYSROOT=$PWD/src/build/linux/debian_sid_arm64-sysroot
cd src/out/linux_release_arm64
../../../scripts/prepare-sdk-aarch64.sh

- name: Publish Release
uses: actions/upload-artifact@v4
with:
name: engine-sdk-release
path: src/out/linux_release_arm64/engine-sdk/

- name: Build Profile
working-directory: src
Expand All @@ -109,8 +128,15 @@ jobs:
--target-triple aarch64-unknown-linux-gnu
ninja -C out/linux_profile_arm64

- name: Publish Profile
working-directory: src/out/linux_profile_arm64
- name: Prepare Profile Artifacts
run: |
ls -laR exe.unstripped
ls -la *.so
chmod +x scripts/prepare-sdk-aarch64.sh
export SYSROOT=$PWD/src/build/linux/debian_sid_arm64-sysroot
cd src/out/linux_profile_arm64
../../../scripts/prepare-sdk-aarch64.sh

- name: Publish Profile
uses: actions/upload-artifact@v4
with:
name: engine-sdk-profile
path: src/out/linux_profile_arm64/engine-sdk/
52 changes: 40 additions & 12 deletions .github/workflows/flutter-engine-armv7hf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -62,11 +62,24 @@ jobs:

ninja -C out/linux_debug_arm

- name: Publish Debug
working-directory: src/out/linux_debug_arm
- name: Prepare Debug Artifacts
run: |
ls -laR clang_x64/exe.unstripped
ls -la *.so
chmod +x scripts/prepare-sdk-armv7hf.sh
export SYSROOT=$PWD/src/build/linux/debian_sid_arm-sysroot
cd src/out/linux_debug_arm
../../../scripts/prepare-sdk-armv7hf.sh

- name: Publish Debug
uses: actions/upload-artifact@v4
with:
name: engine-sdk-debug
path: src/out/linux_debug_arm/engine-sdk/

- name: Publish Debug Symbols
uses: actions/upload-artifact@v4
with:
name: engine-sdk-debug-symbols
path: src/out/linux_debug_arm/.debug/

- name: Build Release
working-directory: src
Expand All @@ -88,11 +101,18 @@ jobs:

ninja -C out/linux_release_arm

- name: Publish Release
working-directory: src/out/linux_release_arm
- name: Prepare Release Artifacts
run: |
ls -laR clang_x64/exe.unstripped
ls -la *.so
chmod +x scripts/prepare-sdk-armv7hf.sh
export SYSROOT=$PWD/src/build/linux/debian_sid_arm-sysroot
cd src/out/linux_release_arm
../../../scripts/prepare-sdk-armv7hf.sh

- name: Publish Release
uses: actions/upload-artifact@v4
with:
name: engine-sdk-release
path: src/out/linux_release_arm/engine-sdk/

- name: Build Profile
working-directory: src
Expand All @@ -114,8 +134,16 @@ jobs:

ninja -C out/linux_profile_arm

- name: Publish Profile
working-directory: src/out/linux_profile_arm
- name: Prepare Profile Artifacts
run: |
ls -laR clang_x64/exe.unstripped
ls -la *.so
chmod +x scripts/prepare-sdk-armv7hf.sh
export SYSROOT=$PWD/src/build/linux/debian_sid_arm-sysroot
cd src/out/linux_profile_arm
../../../scripts/prepare-sdk-armv7hf.sh

- name: Publish Profile
uses: actions/upload-artifact@v4
with:
name: engine-sdk-profile
path: src/out/linux_profile_arm/engine-sdk/

100 changes: 78 additions & 22 deletions .github/workflows/flutter-engine-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,50 +34,106 @@ jobs:

PATCH_DIR=$PWD/patches

cd src/flutter
cd src
git apply $PATCH_DIR/0001-clang-toolchain.patch
cd flutter
git apply $PATCH_DIR/0001-export-GPU-symbols.patch

- name: Build Debug
working-directory: src
run: |
export PATH=$PATH:$PWD/../depot_tools
export VPYTHON_VIRTUALENV_ROOT=$PWD/vpython
./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
ninja -C out/host_debug
./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 \
--linux-cpu x64 \
--target-os linux \
--target-sysroot $PWD/build/linux/debian_sid_amd64-sysroot \
--target-toolchain $PWD/flutter/buildtools/linux-x64/clang \
--target-triple x86_64-unknown-linux-gnu
ninja -C out/linux_debug_x64

- name: Publish Debug
working-directory: src/out/host_debug
- name: Prepare Debug Artifacts
run: |
ls -laR exe.unstripped
ls -la *.so
ldd libflutter_engine.so
chmod +x scripts/prepare-sdk-x86-64.sh
export SYSROOT=$PWD/src/build/linux/debian_sid_amd64-sysroot
cd src/out/linux_debug_x64
../../../scripts/prepare-sdk-x86-64.sh

- name: Publish Debug
uses: actions/upload-artifact@v4
with:
name: engine-sdk-debug
path: src/out/linux_debug_x64/engine-sdk/

- name: Publish Debug Symbols
uses: actions/upload-artifact@v4
with:
name: engine-sdk-debug-symbols
path: src/out/linux_debug_x64/.debug/

- name: Build Release
working-directory: src
run: |
export PATH=$PATH:$PWD/../depot_tools
export VPYTHON_VIRTUALENV_ROOT=$PWD/vpython
./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
ninja -C out/host_release
./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 \
--linux-cpu x64 \
--target-os linux \
--target-sysroot $PWD/build/linux/debian_sid_amd64-sysroot \
--target-toolchain $PWD/flutter/buildtools/linux-x64/clang \
--target-triple x86_64-unknown-linux-gnu
ninja -C out/linux_release_x64

- name: Publish Release
working-directory: src/out/host_release
- name: Prepare Release Artifacts
run: |
ls -laR exe.unstripped
ls -la *.so
ldd libflutter_engine.so
chmod +x scripts/prepare-sdk-x86-64.sh
export SYSROOT=$PWD/src/build/linux/debian_sid_amd64-sysroot
cd src/out/linux_release_x64
../../../scripts/prepare-sdk-x86-64.sh

- name: Publish Release
uses: actions/upload-artifact@v4
with:
name: engine-sdk-release
path: src/out/linux_release_x64/engine-sdk/

- name: Build Profile
working-directory: src
run: |
export PATH=$PATH:$PWD/../depot_tools
export VPYTHON_VIRTUALENV_ROOT=$PWD/vpython
./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
ninja -C out/host_profile
./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 \
--linux-cpu x64 \
--target-os linux \
--target-sysroot $PWD/build/linux/debian_sid_amd64-sysroot \
--target-toolchain $PWD/flutter/buildtools/linux-x64/clang \
--target-triple x86_64-unknown-linux-gnu
ninja -C out/linux_profile_x64

- name: Publish Profile
working-directory: src/out/host_profile
- name: Prepare Profile Artifacts
run: |
ls -laR exe.unstripped
ls -la *.so
ldd libflutter_engine.so
chmod +x scripts/prepare-sdk-x86-64.sh
export SYSROOT=$PWD/src/build/linux/debian_sid_amd64-sysroot
cd src/out/linux_profile_x64
../../../scripts/prepare-sdk-x86-64.sh

- name: Publish Profile
uses: actions/upload-artifact@v4
with:
name: engine-sdk-profile
path: src/out/linux_profile_x64/engine-sdk/
78 changes: 78 additions & 0 deletions scripts/prepare-sdk-aarch64.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
#! /bin/bash

mkdir -p engine-sdk/{data,bin,lib/aarch64-linux-gnu,usr/lib/aarch64-linux-gnu,usr/include,sdk/lib}

#
# /data
#
cp icudtl.dat engine-sdk/data/

#
# Include
#
cp flutter_embedder.h engine-sdk/usr/include/

#
# SDK
#
cp -r flutter_patched_sdk engine-sdk/sdk/
if [ -e shader_lib ]; then
cp -r shader_lib engine-sdk/sdk/lib
fi

#
# /bin
#
cp exe.unstripped/* engine-sdk/bin/

#
# /lib
#
export cwd=$(pwd)
cd so.unstripped
for file in *; do
cp "$file" $cwd/engine-sdk/lib/
cp "../$file.TOC" $cwd/engine-sdk/sdk/lib/
done
cd $cwd
cp $SYSROOT/lib/ld-linux-aarch64.so* engine-sdk/lib/

#
# /usr/lib/$ARCH-linux-gnu
#
cp $SYSROOT/lib/aarch64-linux-gnu/libdl-* engine-sdk/lib/aarch64-linux-gnu/
cp $SYSROOT/usr/lib/aarch64-linux-gnu/libdl.so* engine-sdk/usr/lib/aarch64-linux-gnu/
cp -d $SYSROOT/lib/aarch64-linux-gnu/libdl.so* engine-sdk/lib/aarch64-linux-gnu/
cp -d $SYSROOT/usr/lib/aarch64-linux-gnu/libdl-* engine-sdk/usr/lib/aarch64-linux-gnu/
cp $SYSROOT/lib/aarch64-linux-gnu/libpthread-* engine-sdk/lib/aarch64-linux-gnu/
cp $SYSROOT/usr/lib/aarch64-linux-gnu/libpthread-* engine-sdk/usr/lib/aarch64-linux-gnu/
cp -d $SYSROOT/lib/aarch64-linux-gnu/libpthread.so* engine-sdk/lib/aarch64-linux-gnu/
cp -d $SYSROOT/usr/lib/aarch64-linux-gnu/libpthread.so* engine-sdk/usr/lib/aarch64-linux-gnu/
cp $SYSROOT/lib/aarch64-linux-gnu/libm-* engine-sdk/lib/aarch64-linux-gnu/
cp $SYSROOT/usr/lib/aarch64-linux-gnu/libm-* engine-sdk/usr/lib/aarch64-linux-gnu/
cp -d $SYSROOT/lib/aarch64-linux-gnu/libm.so* engine-sdk/lib/aarch64-linux-gnu/
cp -d $SYSROOT/usr/lib/aarch64-linux-gnu/libm.so* engine-sdk/usr/lib/aarch64-linux-gnu/
cp $SYSROOT/lib/aarch64-linux-gnu/libc-* engine-sdk/lib/aarch64-linux-gnu/
cp $SYSROOT/usr/lib/aarch64-linux-gnu/libc-* engine-sdk/usr/lib/aarch64-linux-gnu/
cp -d $SYSROOT/lib/aarch64-linux-gnu/libc.so* engine-sdk/lib/aarch64-linux-gnu/
cp -d $SYSROOT/usr/lib/aarch64-linux-gnu/libc.so* engine-sdk/usr/lib/aarch64-linux-gnu/

#
# Strip Components
#
export CLANG_BIN_PATH=../../flutter/buildtools/linux-x64/clang/bin
mkdir -p .debug
for file in $(pwd)/engine-sdk/bin/*; do
if [ -f "$file" ]; then
$CLANG_BIN_PATH/llvm-strip --only-keep-debug -o $file.debug $file
$CLANG_BIN_PATH/llvm-strip $file
fi
done
mv $(pwd)/engine-sdk/bin/*.debug $(pwd)/.debug/
for file in $(pwd)/engine-sdk/lib/*; do
if [ -f "$file" ]; then
$CLANG_BIN_PATH/llvm-strip --only-keep-debug -o $file.debug $file
$CLANG_BIN_PATH/llvm-strip $file
fi
done
mv $(pwd)/engine-sdk/lib/*.debug $(pwd)/.debug/
Loading