Linux armv7hf #90
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Linux armv7hf | |
on: | |
workflow_dispatch: | |
inputs: | |
srcrev: | |
description: 'Flutter Engine Commit Hash' | |
required: True | |
default: '' | |
release: | |
description: 'Release' | |
required: false | |
default: 'false' | |
jobs: | |
linux-armv7hf: | |
runs-on: [self-hosted, linux, x64] | |
env: | |
arch: arm | |
linux_cpu: arm --arm-float-abi hard | |
target_triple: armv7-unknown-linux-gnueabihf | |
target_sysroot: debian_sid_arm-sysroot | |
tag_debug: linux-engine-sdk-debug-armv7hf-${{ inputs.srcrev }} | |
tag_debug_unopt: linux-engine-sdk-debug-unopt-armv7hf-${{ inputs.srcrev }} | |
tag_release: linux-engine-sdk-release-armv7hf-${{ inputs.srcrev }} | |
tag_profile: linux-engine-sdk-profile-armv7hf-${{ inputs.srcrev }} | |
notes_debug: "Flutter Engine - Linux armv7hf runtime debug SDK" | |
notes_debug_unopt: "Flutter Engine - Linux armv7hf runtime debug unoptimized SDK" | |
notes_release: "Flutter Engine - Linux armv7hf runtime release SDK" | |
notes_profile: "Flutter Engine - Linux armv7hf runtime profile SDK" | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
persist-credentials: false | |
- name: Install packages | |
run: | | |
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git | |
- name: Get Flutter Source | |
run: | | |
export PATH=$PATH:$PWD/depot_tools | |
export VPYTHON_VIRTUALENV_ROOT=$PWD/vpython | |
gclient config --spec 'solutions=[{"name":"src/flutter","url":"https://github.com/flutter/engine.git","deps_file":"DEPS","managed":False,"custom_deps":{},"custom_vars":{"download_android_deps":False,"download_windows_deps":False,"download_linux_deps":True}}]' | |
gclient sync --force --shallow --no-history -R -D --revision ${{ inputs.SRCREV }} -j$(nproc) -v | |
PATCH_DIR=$PWD/patches | |
# fetch sysroot | |
cd src | |
build/linux/sysroot_scripts/install-sysroot.py --arch=$arch | |
git apply $PATCH_DIR/0001-clang-toolchain.patch | |
- name: Build Debug | |
working-directory: src | |
run: | | |
export PATH=$PATH:$PWD/../depot_tools | |
export VPYTHON_VIRTUALENV_ROOT=$PWD/vpython | |
CLANG_ROOT=$(find -iname clang++) | |
CLANG_ROOT=$(dirname $CLANG_ROOT) | |
export CLANG_ROOT=$(dirname $CLANG_ROOT) | |
./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 $linux_cpu \ | |
--target-os linux \ | |
--target-sysroot $PWD/build/linux/$target_sysroot \ | |
--target-toolchain $PWD/$CLANG_ROOT \ | |
--target-triple $target_triple | |
ninja -C out/linux_debug_$arch | |
- name: Prepare Debug Artifacts | |
run: | | |
scripts/prepare-sdk-armv7hf.sh src/out/linux_debug_$arch $PWD/src/build/linux/$target_sysroot | |
tar czfhv $tag_debug.tar.gz src/out/linux_debug_$arch/engine-sdk/ | |
sha256sum -b $tag_debug.tar.gz > $tag_debug.tar.gz.sha256 | |
- name: Publish Debug | |
if: ${{ inputs.release != 'true' }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: engine-sdk-debug | |
path: | | |
linux-engine-sdk-debug-armv7hf-${{ inputs.srcrev }}.tar.gz | |
linux-engine-sdk-debug-armv7hf-${{ inputs.srcrev }}.tar.gz.sha256 | |
- name: Release - Debug Release | |
if: ${{ inputs.release == 'true' }} | |
env: | |
GH_TOKEN: ${{ github.token }} | |
GH_REPO: ${{ github.repository }} | |
run: | | |
gh release delete "$tag_debug" --cleanup-tag -y |true | |
gh release create --draft "$tag_debug" --title "$tag_debug" --notes "$notes_debug" | |
gh release upload "$tag_debug" "$tag_debug.tar.gz" "$tag_debug.tar.gz.sha256" | |
gh release edit "$tag_debug" --draft=false | |
- name: Build Debug Unoptimized | |
working-directory: src | |
run: | | |
export PATH=$PATH:$PWD/../depot_tools | |
export VPYTHON_VIRTUALENV_ROOT=$PWD/vpython | |
CLANG_ROOT=$(find -iname clang++) | |
CLANG_ROOT=$(dirname $CLANG_ROOT) | |
export CLANG_ROOT=$(dirname $CLANG_ROOT) | |
./flutter/tools/gn --runtime-mode=debug \ | |
--unoptimized \ | |
--embedder-for-target \ | |
--no-build-embedder-examples \ | |
--enable-impeller-3d \ | |
--no-goma --no-rbe \ | |
--no-stripped --no-enable-unittests \ | |
--linux-cpu $linux_cpu \ | |
--target-os linux \ | |
--target-sysroot $PWD/build/linux/$target_sysroot \ | |
--target-toolchain $PWD/$CLANG_ROOT \ | |
--target-triple $target_triple | |
ninja -C out/linux_debug_unopt_$arch | |
- name: Prepare Debug Unoptimized Artifacts | |
run: | | |
scripts/prepare-sdk-armv7hf.sh src/out/linux_debug_unopt_$arch $PWD/src/build/linux/$target_sysroot | |
tar czfhv $tag_debug_unopt.tar.gz src/out/linux_debug_unopt_$arch/engine-sdk/ | |
sha256sum -b $tag_debug_unopt.tar.gz > $tag_debug_unopt.tar.gz.sha256 | |
- name: Publish Debug Unoptimized | |
if: ${{ inputs.release != 'true' }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: engine-sdk-debug-unoptimized | |
path: | | |
linux-engine-sdk-debug-unopt-armv7hf-${{ inputs.srcrev }}.tar.gz | |
linux-engine-sdk-debug-unopt-armv7hf-${{ inputs.srcrev }}.tar.gz.sha256 | |
- name: Release - Debug Unoptimized Release | |
if: ${{ inputs.release == 'true' }} | |
env: | |
GH_TOKEN: ${{ github.token }} | |
GH_REPO: ${{ github.repository }} | |
run: | | |
gh release delete "$tag_debug_unopt" --cleanup-tag -y |true | |
gh release create --draft "$tag_debug_unopt" --title "$tag_debug_unopt" --notes "$notes_debug_unopt" | |
gh release upload "$tag_debug_unopt" "$tag_debug_unopt.tar.gz" "$tag_debug_unopt.tar.gz.sha256" | |
gh release edit "$tag_debug_unopt" --draft=false | |
- name: Build Release | |
working-directory: src | |
run: | | |
export PATH=$PATH:$PWD/../depot_tools | |
export VPYTHON_VIRTUALENV_ROOT=$PWD/vpython | |
CLANG_ROOT=$(find -iname clang++) | |
CLANG_ROOT=$(dirname $CLANG_ROOT) | |
export CLANG_ROOT=$(dirname $CLANG_ROOT) | |
./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 $linux_cpu \ | |
--target-os linux \ | |
--target-sysroot $PWD/build/linux/$target_sysroot \ | |
--target-toolchain $PWD/$CLANG_ROOT \ | |
--target-triple $target_triple | |
ninja -C out/linux_release_$arch | |
- name: Prepare Release Artifacts | |
run: | | |
scripts/prepare-sdk-armv7hf.sh src/out/linux_release_$arch $PWD/src/build/linux/$target_sysroot | |
tar czfhv $tag_release.tar.gz src/out/linux_release_$arch/engine-sdk/ | |
sha256sum -b $tag_release.tar.gz > $tag_release.tar.gz.sha256 | |
- name: Publish Release | |
if: ${{ inputs.release != 'true' }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: engine-sdk-release | |
path: | | |
linux-engine-sdk-release-armv7hf-${{ inputs.srcrev }}.tar.gz | |
linux-engine-sdk-release-armv7hf-${{ inputs.srcrev }}.tar.gz.sha256 | |
- name: Release - Publish Release | |
if: ${{ inputs.release == 'true' }} | |
env: | |
GH_TOKEN: ${{ github.token }} | |
GH_REPO: ${{ github.repository }} | |
run: | | |
gh release delete "$tag_release" --cleanup-tag -y |true | |
gh release create --draft "$tag_release" --title "$tag_release" --notes "$notes_release" | |
gh release upload "$tag_release" "$tag_release.tar.gz" "$tag_release.tar.gz.sha256" | |
gh release edit "$tag_release" --draft=false | |
- name: Build Profile | |
working-directory: src | |
run: | | |
export PATH=$PATH:$PWD/../depot_tools | |
export VPYTHON_VIRTUALENV_ROOT=$PWD/vpython | |
CLANG_ROOT=$(find -iname clang++) | |
CLANG_ROOT=$(dirname $CLANG_ROOT) | |
export CLANG_ROOT=$(dirname $CLANG_ROOT) | |
./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 $linux_cpu \ | |
--target-os linux \ | |
--target-sysroot $PWD/build/linux/$target_sysroot \ | |
--target-toolchain $PWD/$CLANG_ROOT \ | |
--target-triple $target_triple | |
ninja -C out/linux_profile_$arch | |
- name: Prepare Profile Artifacts | |
run: | | |
scripts/prepare-sdk-armv7hf.sh src/out/linux_profile_$arch $PWD/src/build/linux/debian_sid_arm-sysroot | |
tar czfhv $tag_profile.tar.gz src/out/linux_profile_$arch/engine-sdk/ | |
sha256sum -b $tag_profile.tar.gz > $tag_profile.tar.gz.sha256 | |
- name: Publish Profile | |
if: ${{ inputs.release != 'true' }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: engine-sdk-profile | |
path: | | |
linux-engine-sdk-profile-armv7hf-${{ inputs.srcrev }}.tar.gz | |
linux-engine-sdk-profile-armv7hf-${{ inputs.srcrev }}.tar.gz.sha256 | |
- name: Release - Publish Profile | |
if: ${{ inputs.release == 'true' }} | |
env: | |
GH_TOKEN: ${{ github.token }} | |
GH_REPO: ${{ github.repository }} | |
run: | | |
gh release delete "$tag_profile" --cleanup-tag -y |true | |
gh release create --draft "$tag_profile" --title "$tag_profile" --notes "$notes_profile" | |
gh release upload "$tag_profile" "$tag_profile.tar.gz" "$tag_profile.tar.gz.sha256" | |
gh release edit "$tag_profile" --draft=false | |