Skip to content

v8-ios-arm64

v8-ios-arm64 #3

# This is a basic workflow to help you get started with Actions
name: v8-ios-arm64
# Controls when the workflow will run
on:
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: macos-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- uses: actions/checkout@v4
with:
path: Scripts
- uses: actions/setup-python@v5
with:
python-version: '3.12'
# Runs a single command using the runners shell
# See https://v8.dev/docs/cross-compile-ios
- name: Fetch v8
run: |
cd $GITHUB_WORKSPACE
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH=$GITHUB_WORKSPACE/depot_tools:$PATH
cd depot_tools
gclient
mkdir $GITHUB_WORKSPACE/v8
cd $GITHUB_WORKSPACE/v8
fetch v8
echo "target_os = ['ios']" >> .gclient
cat .gclient
cd v8
git checkout refs/tags/12.4.254.20
gclient sync -D
- name: Build v8 ios-arm64
run: |
export PATH=$GITHUB_WORKSPACE/depot_tools:$PATH
cd $GITHUB_WORKSPACE/v8/v8
ls -l ./build/
python ./tools/dev/v8gen.py arm64.release
cp $GITHUB_WORKSPACE/Scripts/v8.ios_arm64.args.gn $GITHUB_WORKSPACE/v8/v8/out.gn/arm64.release/args.gn
cat $GITHUB_WORKSPACE/v8/v8/out.gn/arm64.release/args.gn
ls -l $GITHUB_WORKSPACE/depot_tools/ninja
ninja -C ./out.gn/arm64.release v8_monolith
- name: Upload
uses: actions/upload-artifact@v4
with:
path: v8/v8/out.gn/arm64.release/obj/libv8_monolith.a
name: prebuilt_v8_ios_arm64