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' - name: Build shell: pwsh run: | .\tools\cmdline\axmol -p win32 -a x64 .\tools\cmdline\axmol run -p win32 -a x64 -xb '--target,unit-tests' win32-dll: runs-on: windows-latest steps: - uses: actions/checkout@v4 with: submodules: 'recursive' - name: Build shell: pwsh run: .\tools\cmdline\axmol -p win32 -a x64 -dll winuwp: # build uwp debug avoid github CI fail with memory issue runs-on: windows-latest steps: - uses: actions/checkout@v4 with: submodules: 'recursive' - name: Build shell: pwsh run: .\tools\cmdline\axmol -p winuwp -a x64 -O0 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: Build shell: pwsh run: .\tools\cmdline\axmol -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: | ./tools/cmdline/axmol -p linux -a x64 ./tools/cmdline/axmol -p linux -a x64 -xb '--target,lua-tests' ./tools/cmdline/axmol run -p linux -a x64 -xb '--target,unit-tests' -wait osx-arm64: runs-on: macos-latest steps: - uses: actions/checkout@v4 with: submodules: 'recursive' - name: Build shell: pwsh run: | ./tools/cmdline/axmol -p osx ./tools/cmdline/axmol run -p osx -xb '--target,unit-tests' osx-x64: runs-on: macos-13 steps: - uses: actions/checkout@v4 with: submodules: 'recursive' - name: Build shell: pwsh run: | ./tools/cmdline/axmol -p osx ./tools/cmdline/axmol run -p osx -xb '--target,unit-tests' 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' - 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@v4 with: submodules: 'recursive' - name: Build shell: pwsh run: ./tools/cmdline/axmol -p $env:TARGET_OS -a 'x64' wasm: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: submodules: 'recursive' - name: Build shell: pwsh run: | ./tools/cmdline/axmol -p wasm -xc '-DAX_ENABLE_EXT_EFFEKSEER=ON,-DAX_WASM_THREADS=8' -j2 ./tools/cmdline/axmol -p wasm -xc '-DAX_ENABLE_EXT_EFFEKSEER=ON,-DAX_WASM_THREADS=8' -j2 -xb '--target,fairygui-tests' ./tools/cmdline/axmol -p wasm -xc '-DAX_ENABLE_EXT_EFFEKSEER=ON,-DAX_WASM_THREADS=8' -j2 -xb '--target,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/axmolengine.github.io event-type: forward-push