Skip to content

Linux x86_64

Linux x86_64 #50

name: Linux x86_64
on:
workflow_dispatch:
inputs:
SRCREV:
description: 'Flutter Engine Target Source Revision'
required: True
default: ''
jobs:
linux-x86_64:
runs-on: [self-hosted, linux, x64]
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
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 \
--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: Prepare Debug Artifacts
run: |
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 \
--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: Prepare Release Artifacts
run: |
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 \
--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: Prepare Profile Artifacts
run: |
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/