axmol/.github/workflows/pr.yml

186 lines
4.8 KiB
YAML

name: pull_request
on:
pull_request:
paths-ignore:
- '**.md'
- 'docs/**'
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
PULL_REQUEST: yes
jobs:
build-windows:
name: build-windows
runs-on: windows-latest
strategy:
matrix:
config:
- {arch: x86, dll: false}
- {arch: x64, dll: false}
- {arch: x86, dll: true}
- {arch: x64, dll: true}
env:
BUILD_ARCH: ${{ matrix.config.arch }}
BUILD_DLL: ${{ matrix.config.dll }}
steps:
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.7.8'
- uses: ilammy/msvc-dev-cmd@v1.12.1
with:
arch: ${{ env.BUILD_ARCH }}
- name: Build
shell: pwsh
run: tools\ci\build1k.ps1 -p win32 -a $env:BUILD_ARCH -dll $env:BUILD_DLL -xb '--config','Release','--target','cpp_tests'
build-windows-clang:
runs-on: windows-latest
strategy:
matrix:
arch:
- x64
env:
BUILD_ARCH: ${{ matrix.arch }}
steps:
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.7.8'
- name: Install LLVM and Clang
uses: KyleMayes/install-llvm-action@v1
with:
version: "16.0"
- name: Build
shell: pwsh
run: tools\ci\build1k.ps1 -p win32 -a x64 -cc clang -xb '--config','Release','--target','cpp_tests'
build-winuwp:
name: build-winuwp
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.7.8'
- uses: ilammy/msvc-dev-cmd@v1.12.1
with:
arch: x64
uwp: true
- name: Build
shell: pwsh
run: tools\ci\build1k.ps1 -p winuwp -a x64 -xb '--config','Release','--target','cpp_tests'
build-linux:
name: build-linux
runs-on: ubuntu-latest
env:
GH_OS_NAME: linux
BUILD_TARGET: linux
steps:
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Install deps
# Some projects don't allow in-source building, so create a separate build directory
# We'll use this as our working directory for all subsequent commands
run: |
AX_ROOT=`pwd`
echo -e "y" | bash $AX_ROOT/install-deps-linux.sh
- name: Build
shell: pwsh
run: tools/ci/build1k.ps1 -p linux -a x64 -xb '--config','Release','--target','cpp_tests'
build-android:
name: build-android
runs-on: ubuntu-latest
strategy:
matrix:
arch:
- armv7
- arm64
- x86
- x64
env:
GH_OS_NAME: linux
BUILD_TARGET: android
BUILD_ARCH: ${{ matrix.arch }}
steps:
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- uses: actions/setup-java@v3
with:
distribution: 'microsoft' # See 'Supported distributions' for available options
java-version: '11'
- name: Build
shell: pwsh
run: |
$AX_ROOT = $(Get-Location).Path
tools/ci/build1k.ps1 -p android -a $env:BUILD_ARCH -d 'tests/cpp-tests/proj.android' -xt gradle -xc '-PAX_ENABLE_EXT_EFFEKSEER=ON',"-PRELEASE_STORE_FILE=$AX_ROOT/tools/ci/axmol-ci.jks",'-PRELEASE_STORE_PASSWORD=axmol-ci','-PRELEASE_KEY_ALIAS=axmol-ci','-PRELEASE_KEY_PASSWORD=axmol-ci'
build-osx:
name: build-osx
runs-on: macos-12
strategy:
matrix:
arch:
- x86_64
- arm64
env:
GH_OS_NAME: osx
BUILD_TARGET: osx
BUILD_ARCH: ${{ matrix.arch }}
steps:
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Build
shell: pwsh
run: |
tools/ci/build1k.ps1 -p osx -a $env:BUILD_ARCH -xb '--config','Release','--target','cpp_tests'
build-ios:
name: build-ios
runs-on: macos-latest
env:
GH_OS_NAME: osx
BUILD_TARGET: ios
steps:
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Build
shell: pwsh
run: tools/ci/build1k.ps1 -p ios -a 'x64' -xb '--config','Release','--target','cpp_tests'
build-tvos:
name: build-tvos
runs-on: macos-latest
env:
GH_OS_NAME: osx
BUILD_TARGET: tvos
steps:
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Build
shell: pwsh
run: |
tools/ci/build1k.ps1 -p tvos -a 'x64' -xb '--config','Release','--target','cpp_tests'