name: build on: push: branches: - dev paths-ignore: - '**.md' - '**/*.md.in' - 'docs/**' - '.github/workflows/publish.yml' - 'tools/ci/make-pkg.ps1' jobs: win32: runs-on: windows-latest steps: - uses: actions/checkout@v3 with: submodules: 'recursive' - uses: ilammy/msvc-dev-cmd@v1.12.1 with: toolset: '14.37' arch: 'x64' - name: Build shell: pwsh run: .\build.ps1 -p win32 -a x64 win32-dll: runs-on: windows-latest steps: - uses: actions/checkout@v3 with: submodules: 'recursive' - uses: ilammy/msvc-dev-cmd@v1.12.1 with: toolset: '14.37' 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@v3 with: submodules: 'recursive' - uses: ilammy/msvc-dev-cmd@v1.12.1 with: toolset: '14.37' 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@v3 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 -winsdk $env:WINSDK_VER linux: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 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-latest strategy: matrix: arch: - x64 - arm64 env: BUILD_ARCH: ${{ matrix.arch }} steps: - uses: actions/checkout@v3 with: submodules: 'recursive' - 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@v3 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@v3 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'