Skip to content

build@c++23

build@c++23 #3334

Workflow file for this run

name: build
on:
push:
branches:
- dev*
- release/*
paths-ignore:
- '**.md'
- '**/*.md.in'
- 'docs/**'
- '.github/workflows/publish.yml'
- '.github/workflows/debian.yml'
- 'tools/ci/make-pkg.ps1'
pull_request:
types: [opened, synchronize, reopened]
paths-ignore:
- '**.md'
- '**/*.md.in'
- 'docs/**'
workflow_dispatch:
inputs:
cxxstd:
# actions run ID
description: 'Please input cxxstd, example: 23'
# Default value if no value is explicitly provided
default: '23'
# Input has to be provided for the workflow to run
required: false
env:
__1K_CXXSTD: '${{ inputs.cxxstd }}'
GH_XCODE_VER: '16.4'
run-name: 'build@c++${{ inputs.cxxstd || 23 }}'
jobs:
win32-ogl:
runs-on: windows-latest
steps:
- uses: actions/checkout@v6
- name: Build
shell: pwsh
run: |
.\tools\cmdline\axmol -p win32 -a x64 -O3
.\tools\cmdline\axmol run -p win32 -a x64 -t unit-tests -O3
- name: Check prebuilt workflow
shell: pwsh
run: |
./setup.ps1
axmol new HelloCpp
axmol -d .\HelloCpp -xc '-DAX_PREBUILT_DIR=build' -O3
- uses: actions/upload-artifact@v6
with:
name: windows_ogl_x64
path: |
build/bin/cpp-tests/**/*
win32-d3d11:
runs-on: windows-latest
steps:
- uses: actions/checkout@v6
- name: Build
shell: pwsh
run: |
.\tools\cmdline\axmol -p win32 -a x64 -xc '-DAX_RENDER_API=d3d11' -O3
- name: Check prebuilt workflow
shell: pwsh
run: |
./setup.ps1
axmol new HelloCpp
axmol -d .\HelloCpp -xc '-DAX_PREBUILT_DIR=build' -O3
- uses: actions/upload-artifact@v6
with:
name: windows_d3d11_x64
path: |
build/bin/cpp-tests/**/*
win32-d3d12:
runs-on: windows-latest
steps:
- uses: actions/checkout@v6
- name: Build
shell: pwsh
run: |
.\tools\cmdline\axmol -p win32 -a x64 -xc '-DAX_RENDER_API=d3d12' -O3
- name: Check prebuilt workflow
shell: pwsh
run: |
./setup.ps1
axmol new HelloCpp
axmol -d .\HelloCpp -xc '-DAX_PREBUILT_DIR=build' -O3
- uses: actions/upload-artifact@v6
with:
name: windows_d3d12_x64
path: |
build/bin/cpp-tests/**/*
win32-vk:
runs-on: windows-latest
steps:
- uses: actions/checkout@v6
- name: Build
shell: pwsh
run: |
.\tools\cmdline\axmol -p win32 -a x64 -xc '-DAX_RENDER_API=vk' -O3
- name: Check prebuilt workflow
shell: pwsh
run: |
./setup.ps1
axmol new HelloCpp
axmol -d .\HelloCpp -xc '-DAX_PREBUILT_DIR=build' -O3
- uses: actions/upload-artifact@v6
with:
name: windows_vk_x64
path: |
build/bin/cpp-tests/**/*
winuwp-ogl:
runs-on: windows-latest
steps:
- uses: actions/checkout@v6
- name: Build
shell: pwsh
run: .\tools\cmdline\axmol -p winuwp -a x64 -O3
winuwp-d3d11:
runs-on: windows-latest
steps:
- uses: actions/checkout@v6
- name: Build
shell: pwsh
run: .\tools\cmdline\axmol -p winuwp -a x64 -O3 -xc '-DAX_RENDER_API=d3d11'
win32-clang-ogl:
runs-on: windows-latest
steps:
- uses: actions/checkout@v6
- name: Build
shell: pwsh
run: .\tools\cmdline\axmol -p win32 -a 'x64' -cc clang -O3
win32-dll-ogl:
runs-on: windows-latest
steps:
- uses: actions/checkout@v6
- name: Build
shell: pwsh
run: .\tools\cmdline\axmol -p win32 -a x64 -dll
linux-ogl:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Install dependencies
run: |
AX_ROOT=`pwd`
echo -e "y" | pwsh $AX_ROOT/setup.ps1
- name: Build
shell: pwsh
run: ./tools/cmdline/axmol -p linux -a x64 -t 'cpp-tests,lua-tests' && ./tools/cmdline/axmol run -p linux -a x64 -t unit-tests -wait
linux-vk:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Install dependencies
run: |
AX_ROOT=`pwd`
echo -e "y" | pwsh $AX_ROOT/setup.ps1
- name: Build
shell: pwsh
run: ./tools/cmdline/axmol -p linux -a x64 -t 'cpp-tests,lua-tests' -xc '-DAX_RENDER_API=vk'
osx-arm64:
runs-on: macos-15
steps:
- uses: actions/checkout@v6
- uses: maxim-lobanov/setup-xcode@v1
id: setup-xcode
with:
xcode-version: '${{ env.GH_XCODE_VER }}'
- name: Build
shell: pwsh
run: ./tools/cmdline/axmol -p osx -a arm64 && ./tools/cmdline/axmol run -p osx -a arm64 -t unit-tests
osx-x64:
runs-on: macos-15-intel
steps:
- uses: actions/checkout@v6
- uses: maxim-lobanov/setup-xcode@v1
id: setup-xcode
with:
xcode-version: '${{ env.GH_XCODE_VER }}'
- name: Build
shell: pwsh
run: ./tools/cmdline/axmol -p osx -a x64
android:
runs-on: ubuntu-latest
strategy:
matrix:
arch:
- armv7
- arm64
- x86
- x64
env:
BUILD_ARCH: ${{ matrix.arch }}
steps:
- uses: actions/checkout@v6
- name: Build
shell: pwsh
run: |
$AX_ROOT = $(Get-Location).Path
./tools/cmdline/axmol -p android -a $env:BUILD_ARCH -xc "-DAX_RENDER_API=vk;gl"
- uses: actions/upload-artifact@v6
with:
name: android_${{ matrix.arch }}
path: |
templates/**/*.apk
tests/**/*.apk
ios-sim-x64:
runs-on: macos-15
strategy:
matrix:
target_os:
- ios
- tvos
env:
TARGET_OS: ${{ matrix.target_os }}
steps:
- uses: actions/checkout@v6
- uses: maxim-lobanov/setup-xcode@v1
id: setup-xcode
with:
xcode-version: '${{ env.GH_XCODE_VER }}'
- name: Build
shell: pwsh
run: ./tools/cmdline/axmol -p $env:TARGET_OS -a 'x64'
ios-sim-arm64:
runs-on: macos-15
strategy:
matrix:
target_os:
- ios
- tvos
env:
TARGET_OS: ${{ matrix.target_os }}
steps:
- uses: actions/checkout@v6
- uses: maxim-lobanov/setup-xcode@v1
id: setup-xcode
with:
xcode-version: '${{ env.GH_XCODE_VER }}'
- name: Build
shell: pwsh
# axmol cmdline can't guess ios arm64 as simulator, so need specify by option '-sdk'
run: ./tools/cmdline/axmol -p $env:TARGET_OS -a 'arm64' -sdk 'simulator'
wasm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Build
shell: pwsh
run: ./tools/cmdline/axmol -p wasm -O3 -xc '-DAX_ENABLE_EXT_EFFEKSEER=ON,-DAX_WASM_THREADS=8,-DAX_ENABLE_VR=ON' -j2 -t 'cpp-tests,fairygui-tests,lua-tests'
- uses: actions/upload-artifact@v6
with:
name: wasm
path: build_wasm/bin/**/*
if-no-files-found: error
- name: Repository Dispatch
if: ${{ github.repository == 'axmolengine/axmol' && github.event_name != 'pull_request' }}
uses: peter-evans/repository-dispatch@v3
with:
token: ${{ secrets.AX_TRIGGER_SITE_TOKEN }}
repository: axmolengine/axmol.dev
event-type: forward-push
wasm64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Build
shell: pwsh
run: ./tools/cmdline/axmol -p wasm64 -xc '-DAX_ENABLE_EXT_EFFEKSEER=ON,-DAX_WASM_THREADS=8' -j2 -t 'cpp-tests,fairygui-tests,lua-tests'