Skip to content

Add qt build in workflow. #38

Add qt build in workflow.

Add qt build in workflow. #38

Workflow file for this run

name: build
on:
pull_request:
branches: [ main ]
push:
branches: [ main ]
jobs:
macOS:
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-macos-20231024
restore-keys: tgfx-environment-macos-
- name: Get Third-Party Cache
id: third-party-cache
uses: actions/cache/restore@v3
with:
path: |
third_party
vendor_tools
key: third-party-macos-${{ hashFiles('DEPS') }}-${{ hashFiles('vendor.json') }}-${{ hashFiles('test/baseline/version.json') }}
restore-keys: third-party-macos-
- name: Run depsync
run: |
chmod +x sync_deps.sh
./sync_deps.sh
shell: bash
- name: Build iOS
run: |
node build_tgfx -p ios -x
- uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: r19c
local-cache: true
- name: Build Android
run: |
node build_tgfx -p android
env:
NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
- 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-macos-20231024
- 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
vendor_tools
key: third-party-macos-${{ hashFiles('DEPS') }}-${{ hashFiles('vendor.json') }}-${{ hashFiles('test/baseline/version.json') }}
- name: Job Failed
if: ${{ failure() }}
uses: actions/upload-artifact@v2
with:
name: result
path: result
- uses: actions/upload-artifact@v2
with:
name: result
path: result
Windows:
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
vendor_tools
key: third-party-windows-${{ hashFiles('DEPS') }}-${{ hashFiles('vendor.json') }}-${{ hashFiles('test/baseline/version.json') }}
restore-keys: third-party-windows-
- name: Run depsync
run: |
npm install depsync -g
depsync
shell: bash
- name: Build Windows
run: |
node build_tgfx -p win
- name: Install Qt
uses: jurplel/install-qt-action@v3
with:
host: 'windows'
target: 'desktop'
arch: 'win64_msvc2019_64'
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/" -p win
- 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
vendor_tools
key: third-party-windows-${{ hashFiles('DEPS') }}-${{ hashFiles('vendor.json') }}-${{ hashFiles('test/baseline/version.json') }}
- name: Job Failed
if: ${{ failure() }}
uses: actions/upload-artifact@v2
with:
name: result
path: result
- uses: actions/upload-artifact@v2
with:
name: result
path: result
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
vendor_tools
key: third-party-linux-${{ hashFiles('DEPS') }}-${{ hashFiles('vendor.json') }}-${{ hashFiles('test/baseline/version.json') }}
restore-keys: third-party-linux-
- uses: seanmiddleditch/gha-setup-ninja@master
- name: Run depsync
run: |
chmod +x sync_deps.sh
./sync_deps.sh
shell: bash
- name: Build Linux
run: |
node build_tgfx -DTGFX_USE_SWIFTSHADER=ON -p linux
- 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
vendor_tools
key: third-party-linux-${{ hashFiles('DEPS') }}-${{ hashFiles('vendor.json') }}-${{ hashFiles('test/baseline/version.json') }}
- name: Job Failed
if: ${{ failure() }}
uses: actions/upload-artifact@v2
with:
name: result
path: result
- uses: actions/upload-artifact@v2
with:
name: result
path: result