axmol/.github/workflows/build.yml

168 lines
4.0 KiB
YAML

name: build
on:
push:
branches: dev
paths-ignore:
- '**.md'
- '**/*.md.in'
- 'docs/**'
- '.github/workflows/publish.yml'
- 'tools/ci/make-pkg.ps1'
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
paths-ignore:
- '**.md'
- '**/*.md.in'
- 'docs/**'
jobs:
win32:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- uses: ilammy/msvc-dev-cmd@v1
with:
toolset: '14.39'
arch: 'x64'
- name: Build
shell: pwsh
run: .\build.ps1 -p win32 -a x64
win32-dll:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- uses: ilammy/msvc-dev-cmd@v1
with:
toolset: '14.39'
arch: 'x64'
- name: Build
shell: pwsh
run: .\build.ps1 -p win32 -a x64 -dll true
winuwp:
# build uwp debug avoid github CI fail with memory issue
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- uses: ilammy/msvc-dev-cmd@v1
with:
toolset: '14.39'
arch: 'x64'
uwp: true
- name: Build
shell: pwsh
run: .\build.ps1 -p winuwp -a x64 -xb '--config','Debug'
- uses: actions/upload-artifact@v3
with:
name: x64
path: |
build_*/tests/**/AppPackages/**/*.msix
win32-clang:
runs-on: windows-latest
env:
# Test winsdk < 10.0.22000.0 (missing C11 standard stdalign.h), axmol will auto fallback to C99 for resolving compiling issue.
WINSDK_VER: '10.0.19041.0'
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Install LLVM and Clang
uses: KyleMayes/install-llvm-action@v1
with:
version: "16.0"
- name: Build
shell: pwsh
run: .\build.ps1 -p win32 -a 'x64' -cc clang -sdk $env:WINSDK_VER
linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Install dependencies
run: |
AX_ROOT=`pwd`
echo -e "y" | pwsh $AX_ROOT/setup.ps1
- name: Build
shell: pwsh
run: ./build.ps1 -p linux -a x64
osx:
runs-on: macos-13
strategy:
matrix:
arch:
- x64
- arm64
env:
BUILD_ARCH: ${{ matrix.arch }}
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '15.1'
- name: Build
shell: pwsh
run: ./build.ps1 -p osx -a $env:BUILD_ARCH
android:
runs-on: ubuntu-latest
strategy:
matrix:
arch:
- armv7
- arm64
- x86
- x64
env:
BUILD_ARCH: ${{ matrix.arch }}
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- uses: actions/setup-java@v3
with:
distribution: 'microsoft' # See 'Supported distributions' for available options
java-version: '17'
- name: Build
shell: pwsh
run: |
$AX_ROOT = $(Get-Location).Path
./build.ps1 -p android -a $env:BUILD_ARCH
- uses: actions/upload-artifact@v3
with:
name: ${{ matrix.arch }}
path: |
templates/**/*.apk
tests/**/*.apk
ios:
runs-on: macos-latest
strategy:
matrix:
target_os:
- ios
- tvos
env:
TARGET_OS: ${{ matrix.target_os }}
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '14.2'
- name: Build
shell: pwsh
run: ./build.ps1 -p $env:TARGET_OS -a 'x64'