build@c++23 #2730
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: build | |
| on: | |
| push: | |
| branches: | |
| - dev* | |
| - release/* | |
| paths-ignore: | |
| - '**.md' | |
| - '**/*.md.in' | |
| - 'docs/**' | |
| - '.github/workflows/publish.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 }}' | |
| run-name: 'build@c++${{ inputs.cxxstd || 23 }}' | |
| jobs: | |
| win32-ogl: | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Build | |
| shell: pwsh | |
| run: | | |
| .\tools\cmdline\axmol -p win32 -a x64 | |
| .\tools\cmdline\axmol run -p win32 -a x64 -t unit-tests | |
| - name: Check prebuilt workflow | |
| shell: pwsh | |
| run: | | |
| ./setup.ps1 | |
| axmol new HelloCpp | |
| axmol -d .\HelloCpp -xc '-DAX_PREBUILT_DIR=build' | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: windows_ogl_x64 | |
| path: | | |
| build/bin/cpp-tests/**/* | |
| win32-d3d11: | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Build | |
| shell: pwsh | |
| run: | | |
| .\tools\cmdline\axmol -p win32 -a x64 -xc '-DAX_RENDER_API=d3d' | |
| - name: Check prebuilt workflow | |
| shell: pwsh | |
| run: | | |
| ./setup.ps1 | |
| axmol new HelloCpp | |
| axmol -d .\HelloCpp -xc '-DAX_PREBUILT_DIR=build' | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: windows_d3d11_x64 | |
| path: | | |
| build/bin/cpp-tests/**/* | |
| winuwp-ogl: | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Build | |
| shell: pwsh | |
| run: .\tools\cmdline\axmol -p winuwp -a x64 -O3 | |
| winuwp-d3d11: | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Build | |
| shell: pwsh | |
| run: .\tools\cmdline\axmol -p winuwp -a x64 -O3 -xc '-DAX_RENDER_API=d3d' | |
| win32-clang-ogl: | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - 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@v5 | |
| - name: Build | |
| shell: pwsh | |
| run: .\tools\cmdline\axmol -p win32 -a x64 -dll | |
| linux: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - 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 | |
| osx-arm64: | |
| runs-on: macos-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - 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-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - 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@v5 | |
| - name: Build | |
| shell: pwsh | |
| run: | | |
| $AX_ROOT = $(Get-Location).Path | |
| ./tools/cmdline/axmol -p android -a $env:BUILD_ARCH | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: android_${{ 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@v5 | |
| - name: Build | |
| shell: pwsh | |
| run: ./tools/cmdline/axmol -p $env:TARGET_OS -a 'x64' | |
| wasm: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - 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@v4 | |
| 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@v5 | |
| - 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' |