Skip to content

Add a xcode-gen tool to genenrate ios demo. #138

Add a xcode-gen tool to genenrate ios demo.

Add a xcode-gen tool to genenrate ios demo. #138

Workflow file for this run

name: build
on:
pull_request:
branches: [ main ]
push:
branches: [ main ]
jobs:
ios:
runs-on: macos-latest
steps:
- name: Check Out Repo
uses: actions/checkout@v3
with:
lfs: true
- name: Get Environment Cache
id: environment-cache
uses: actions/cache/restore@v3
with:
path: |
/usr/local/Cellar/ninja
/usr/local/Cellar/icu4c
/usr/local/bin/ninja
/usr/local/Cellar/yasm
/usr/local/bin/yasm
/usr/local/bin/depsync
/usr/local/lib/node_modules/depsync
key: tgfx-environment-ios-20231025
restore-keys: tgfx-environment-ios-
- name: Get Third-Party Cache
id: third-party-cache
uses: actions/cache/restore@v3
with:
path: |
third_party
key: third-party-ios-${{ hashFiles('DEPS') }}-${{ hashFiles('vendor.json') }}
restore-keys: third-party-ios-
- name: Install Build Tools
run: |
chmod +x install_tools.sh
./install_tools.sh
shell: bash
- name: Run depsync
run: |
npm install depsync -g
depsync
shell: bash
- name: Build iOS
run: |
node build_tgfx -p ios -a arm64
- name: Save Environment Cache
if: ${{ (github.event_name == 'push') && (steps.environment-cache.outputs.cache-hit != 'true') }}
uses: actions/cache/save@v3
with:
path: |
/usr/local/Cellar/ninja
/usr/local/Cellar/icu4c
/usr/local/bin/ninja
/usr/local/Cellar/yasm
/usr/local/bin/yasm
/usr/local/bin/depsync
/usr/local/lib/node_modules/depsync
key: tgfx-environment-ios-20231025
- name: Save Third-Party Cache
if: ${{ (github.event_name == 'push') && (steps.third-party-cache.outputs.cache-hit != 'true') }}
uses: actions/cache/save@v3
with:
path: |
third_party
key: third-party-ios-${{ hashFiles('DEPS') }}-${{ hashFiles('vendor.json') }}
- name: Job Failed
if: ${{ failure() }}
uses: actions/upload-artifact@v3
with:
name: tgfx_ios_arm64
path: out
- uses: actions/upload-artifact@v3
with:
name: tgfx_ios_arm64
path: out
android:
runs-on: ubuntu-latest
steps:
- name: Check Out Repo
uses: actions/checkout@v3
with:
lfs: true
- name: Get Third-Party Cache
id: third-party-cache
uses: actions/cache/restore@v3
with:
path: |
third_party
key: third-party-android-${{ hashFiles('DEPS') }}-${{ hashFiles('vendor.json') }}
restore-keys: third-party-android-
- uses: seanmiddleditch/gha-setup-ninja@master
- name: Run depsync
run: |
npm install depsync -g
depsync
shell: bash
- uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: r19c
local-cache: true
- name: Build Android
run: |
node build_tgfx -p android -a arm64
env:
NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
- name: Save Third-Party Cache
if: ${{ (github.event_name == 'push') && (steps.third-party-cache.outputs.cache-hit != 'true') }}
uses: actions/cache/save@v3
with:
path: |
third_party
key: third-party-android-${{ hashFiles('DEPS') }}-${{ hashFiles('vendor.json') }}
- name: Job Failed
if: ${{ failure() }}
uses: actions/upload-artifact@v3
with:
name: tgfx_android_arm64v8a
path: out
- uses: actions/upload-artifact@v3
with:
name: tgfx_android_arm64v8a
path: out
web:
runs-on: macos-latest
steps:
- name: Check Out Repo
uses: actions/checkout@v3
with:
lfs: true
- name: Get Environment Cache
id: environment-cache
uses: actions/cache/restore@v3
with:
path: |
/usr/local/Cellar/ninja
/usr/local/Cellar/icu4c
/usr/local/bin/ninja
/usr/local/Cellar/yasm
/usr/local/bin/yasm
/usr/local/bin/depsync
/usr/local/lib/node_modules/depsync
/usr/local/Cellar/gcovr
/usr/local/bin/gcovr
/usr/local/Cellar/emsdk
/usr/local/Cellar/emsdk/upstream/emscripten
/usr/local/Cellar/emsdk/node/14.18.2_64bit/bin
/usr/local/bin/em++
/usr/local/bin/em-config
/usr/local/bin/emar
/usr/local/bin/embuilder
/usr/local/bin/emcc
/usr/local/bin/emcmake
/usr/local/bin/emconfigure
/usr/local/bin/emdump
/usr/local/bin/emdwp
/usr/local/bin/emmake
/usr/local/bin/emnm
/usr/local/bin/emrun
/usr/local/bin/emprofile
/usr/local/bin/emscons
/usr/local/bin/emsize
/usr/local/bin/emstrip
/usr/local/bin/emsymbolizer
/usr/local/bin/emcc.py
/usr/local/bin/emcmake.py
/usr/local/bin/emar.py
key: tgfx-environment-web-20231025
restore-keys: tgfx-environment-web-
- name: Get Third-Party Cache
id: third-party-cache
uses: actions/cache/restore@v3
with:
path: |
third_party
key: third-party-web-${{ hashFiles('DEPS') }}-${{ hashFiles('vendor.json') }}
restore-keys: third-party-web-
- name: Run depsync
run: |
chmod +x sync_deps.sh
./sync_deps.sh
shell: bash
- name: Build Web
run: |
node build_tgfx -p web
- name: Save Environment Cache
if: ${{ (github.event_name == 'push') && (steps.environment-cache.outputs.cache-hit != 'true') }}
uses: actions/cache/save@v3
with:
path: |
/usr/local/Cellar/ninja
/usr/local/Cellar/icu4c
/usr/local/bin/ninja
/usr/local/Cellar/yasm
/usr/local/bin/yasm
/usr/local/bin/depsync
/usr/local/lib/node_modules/depsync
/usr/local/Cellar/gcovr
/usr/local/bin/gcovr
/usr/local/Cellar/emsdk
/usr/local/Cellar/emsdk/upstream/emscripten
/usr/local/Cellar/emsdk/node/14.18.2_64bit/bin
/usr/local/bin/em++
/usr/local/bin/em-config
/usr/local/bin/emar
/usr/local/bin/embuilder
/usr/local/bin/emcc
/usr/local/bin/emcmake
/usr/local/bin/emconfigure
/usr/local/bin/emdump
/usr/local/bin/emdwp
/usr/local/bin/emmake
/usr/local/bin/emnm
/usr/local/bin/emrun
/usr/local/bin/emprofile
/usr/local/bin/emscons
/usr/local/bin/emsize
/usr/local/bin/emstrip
/usr/local/bin/emsymbolizer
/usr/local/bin/emcc.py
/usr/local/bin/emcmake.py
/usr/local/bin/emar.py
key: tgfx-environment-web-20231025
- name: Save Third-Party Cache
if: ${{ (github.event_name == 'push') && (steps.third-party-cache.outputs.cache-hit != 'true') }}
uses: actions/cache/save@v3
with:
path: |
third_party
key: third-party-web-${{ hashFiles('DEPS') }}-${{ hashFiles('vendor.json') }}
- name: Job Failed
if: ${{ failure() }}
uses: actions/upload-artifact@v3
with:
name: tgfx_web_wasm
path: out
- uses: actions/upload-artifact@v3
with:
name: tgfx_web_wasm
path: out
win:
runs-on: windows-latest
steps:
- name: Check Out Repo
uses: actions/checkout@v3
with:
lfs: true
- name: Get Third-Party Cache
id: third-party-cache
uses: actions/cache/restore@v3
with:
path: |
third_party
key: third-party-windows-${{ hashFiles('DEPS') }}-${{ hashFiles('vendor.json') }}
restore-keys: third-party-windows-
- name: Run depsync
run: |
npm install depsync -g
depsync
shell: bash
- name: Build Windows
run: |
node build_tgfx -a x64
- name: Save Third-Party Cache
if: ${{ (github.event_name == 'push') && (steps.third-party-cache.outputs.cache-hit != 'true') }}
uses: actions/cache/save@v3
with:
path: |
third_party
key: third-party-windows-${{ hashFiles('DEPS') }}-${{ hashFiles('vendor.json') }}
- name: Job Failed
if: ${{ failure() }}
uses: actions/upload-artifact@v3
with:
name: tgfx_win_x64
path: out
- uses: actions/upload-artifact@v3
with:
name: tgfx_win_x64
path: out
linux:
runs-on: ubuntu-latest
steps:
- name: Check Out Repo
uses: actions/checkout@v3
with:
lfs: true
- name: Get Third-Party Cache
id: third-party-cache
uses: actions/cache/restore@v3
with:
path: |
third_party
key: third-party-linux-${{ hashFiles('DEPS') }}-${{ hashFiles('vendor.json') }}
restore-keys: third-party-linux-
- uses: seanmiddleditch/gha-setup-ninja@master
- name: Run depsync
run: |
npm install depsync -g
depsync
shell: bash
- name: Build Linux
run: |
node build_tgfx -DTGFX_USE_SWIFTSHADER=ON
- name: Save Third-Party Cache
if: ${{ (github.event_name == 'push') && (steps.third-party-cache.outputs.cache-hit != 'true') }}
uses: actions/cache/save@v3
with:
path: |
third_party
key: third-party-linux-${{ hashFiles('DEPS') }}-${{ hashFiles('vendor.json') }}
- name: Job Failed
if: ${{ failure() }}
uses: actions/upload-artifact@v3
with:
name: tgfx_linux_x64
path: out
- uses: actions/upload-artifact@v3
with:
name: tgfx_linux_x64
path: out
qt:
runs-on: ubuntu-latest
steps:
- name: Check Out Repo
uses: actions/checkout@v3
with:
lfs: true
- name: Get Third-Party Cache
id: third-party-cache
uses: actions/cache/restore@v3
with:
path: |
third_party
key: third-party-qt-${{ hashFiles('DEPS') }}-${{ hashFiles('vendor.json') }}
restore-keys: third-party-qt-
- uses: seanmiddleditch/gha-setup-ninja@master
- name: Run depsync
run: |
npm install depsync -g
depsync
shell: bash
- name: Install Qt
uses: jurplel/install-qt-action@v3
with:
host: 'linux'
target: 'desktop'
dir: '${{github.workspace}}/qt/'
install-deps: 'true'
cache: 'true'
cache-key-prefix: 'install-qt-action'
- name: Build QT
run: |
node build_tgfx -DTGFX_USE_QT=ON -DCMAKE_PREFIX_PATH="${{env.Qt5_Dir}}/lib/cmake/" -o out/release/qt
- name: Save Third-Party Cache
if: ${{ (github.event_name == 'push') && (steps.third-party-cache.outputs.cache-hit != 'true') }}
uses: actions/cache/save@v3
with:
path: |
third_party
key: third-party-qt-${{ hashFiles('DEPS') }}-${{ hashFiles('vendor.json') }}
- name: Job Failed
if: ${{ failure() }}
uses: actions/upload-artifact@v3
with:
name: tgfx_qt_x64
path: out
- uses: actions/upload-artifact@v3
with:
name: tgfx_qt_x64
path: out