Skip to content

Instantly share code, notes, and snippets.

@jezell
Created February 13, 2025 22:13
Show Gist options
  • Save jezell/24a381369ea4d3270d420dc888ebe49b to your computer and use it in GitHub Desktop.
Save jezell/24a381369ea4d3270d420dc888ebe49b to your computer and use it in GitHub Desktop.
name: Build Flutter Engine with Engine Tool
on:
# Run on push or pull requests, modify to your needs.
push:
branches: [ "main", "engine-builds" ]
pull_request:
branches: [ "main", "engine-builds" ]
jobs:
build-engine:
runs-on: flutter-linux64-runner
steps:
- name: Set Actions Allow Unsecure Commands
run: |
echo "ACTIONS_ALLOW_UNSECURE_COMMANDS=true" >> $GITHUB_ENV
- name: Check out the repository
uses: actions/checkout@v3
- name: Install dependencies
run: |
sudo apt-get update
# Typical dependencies for building the engine on Linux:
sudo apt-get install --no-install-recommends -y \
clang \
cmake \
ninja-build \
python3 \
unzip \
zip \
xz-utils \
libgtk-3-dev \
libglu-dev
- name: Gclient sync
run: |
sudo apt-get install -y curl python3 python3-pip python3-setuptools git clang cmake ninja-build pkg-config
# Clone depot_tools to get gclient, gn, ninja, etc.
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools
echo "::add-path::$HOME/depot_tools"
- name: Sync dependencies (gclient sync)
run: |
cp engine/scripts/standard.gclient .gclient
gclient sync -D
- name: Fetch engine dependencies
run: |
# If your engine checkout is in `./src`, navigate there first:
cd engine/src
./flutter/bin/et fetch
- name: Build host_debug engine
run: |
cd engine/src
# Example: build a host_debug engine for the local OS (Linux x64).
./flutter/bin/et build --config host_debug
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment