Files
PSX2/.github/workflows/build-angle.yml
T
2025-12-07 19:30:27 -05:00

68 lines
2.3 KiB
YAML

name: Build ANGLE Vulkan Android libs
on:
workflow_dispatch:
jobs:
build-angle-android:
name: Build ANGLE Vulkan (Android arm64)
runs-on: ubuntu-latest
env:
ANGLE_DIR: ${{ github.workspace }}/angle
DEPOT_TOOLS_WIN_TOOLCHAIN: 0
GCLIENT_PY3: 1
steps:
- uses: actions/checkout@v5
- name: Free disk space on runner
uses: rokibhasansagar/slimhub_actions@v25.42.5
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y git python3 curl lsb-release build-essential
- name: Fetch depot_tools
run: |
git clone --depth=1 https://chromium.googlesource.com/chromium/tools/depot_tools.git
echo "${GITHUB_WORKSPACE}/depot_tools" >> $GITHUB_PATH
- name: Configure gclient for ANGLE (main branch, Android)
run: |
rm -rf "${ANGLE_DIR}"
mkdir -p "${ANGLE_DIR}"
cd "${ANGLE_DIR}"
gclient config --spec "solutions = [ { 'name': '.', 'url': 'https://chromium.googlesource.com/angle/angle.git', 'deps_file': 'DEPS', 'managed': True, 'custom_vars': {}, 'revision': 'refs/heads/main' }, ]; target_os = ['android']"
- name: Sync ANGLE dependencies (Android)
run: |
cd "${ANGLE_DIR}"
gclient sync --no-history --with_branch_heads --with_tags --revision refs/heads/main
gclient runhooks
- name: Install Linux build deps for Android
run: |
cd "${ANGLE_DIR}"
./build/install-build-deps.sh --no-prompt --android
- name: Generate GN args (Vulkan release, arm64)
run: |
cd "${ANGLE_DIR}"
gn gen out/Android --args='target_os="android" target_cpu="arm64" angle_enable_vulkan=true is_component_build=false is_official_build=false is_debug=false'
- name: Build ANGLE Vulkan libraries
run: |
cd "${ANGLE_DIR}"
autoninja -C out/Android libEGL libGLESv2
- name: Upload ANGLE Vulkan libs
uses: actions/upload-artifact@v4
with:
name: angle-android-vulkan-arm64
path: |
${{ env.ANGLE_DIR }}/out/Android/libEGL*.so
${{ env.ANGLE_DIR }}/out/Android/libGLESv2*.so
${{ env.ANGLE_DIR }}/out/Android/lib.unstripped/libEGL*.so
${{ env.ANGLE_DIR }}/out/Android/lib.unstripped/libGLESv2*.so