Change builds to the current godot-cpp-template default. #102
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 GDExtension | ||
| on: | ||
| workflow_call: | ||
| workflow_dispatch: | ||
| jobs: | ||
| build: | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| # Could build with double, but that would double (hah) our build count. | ||
| # Double builds require building Godot from scratch anyway, | ||
| # so it's appropriate NumDot also only ships with single builds by default. | ||
| target: | ||
| - { platform: linux, arch: x86_64, os: ubuntu-22.04 }, | ||
| - { platform: linux, arch: x86_32, os: ubuntu-22.04 }, | ||
| - { platform: linux, arch: arm64, os: ubuntu-22.04-arm }, | ||
| - { platform: linux, arch: arm32, os: ubuntu-22.04-arm }, | ||
| - { platform: windows, arch: x86_64, os: windows-latest }, | ||
| - { platform: windows, arch: x86_32, os: windows-latest }, | ||
| - { platform: windows, arch: arm64, os: windows-latest }, | ||
| - { platform: macos, arch: universal, os: macos-latest }, | ||
| - { platform: android, arch: x86_64, os: ubuntu-22.04 }, | ||
| - { platform: android, arch: x86_32, os: ubuntu-22.04 }, | ||
| - { platform: android, arch: arm64, os: ubuntu-22.04 }, | ||
| - { platform: android, arch: arm32, os: ubuntu-22.04 }, | ||
| - { platform: ios, arch: arm64, os: macos-latest }, | ||
| - { platform: web, arch: wasm32, os: ubuntu-22.04 }, | ||
| float_precision: ["single"] | ||
| build_target_type: ["template_debug", "template_release"] | ||
| runs-on: ${{ matrix.target.os }} | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| submodules: true | ||
| - name: Setup godot-cpp | ||
| uses: ./godot-cpp/.github/actions/setup-godot-cpp | ||
| with: | ||
| platform: ${{ matrix.target.platform }} | ||
| em-version: '3.1.55' # FIXME Doesn't compile on the newest, xtensor has problems | ||
| ndk-version: 'r27c' | ||
| - name: Cache .scons_cache | ||
| uses: actions/cache@v4 | ||
| with: | ||
| path: | | ||
| ${{ github.workspace }}/.scons_cache | ||
| key: ${{ matrix.target.platform }}_${{ matrix.target.arch }}_${{ matrix.float_precision }}_${{ matrix.build_target_type }}_cache | ||
| - name: Build NumDot library | ||
| shell: sh | ||
| env: | ||
| SCONS_CACHE: ${{ github.workspace }}/.scons_cache | ||
| run: | | ||
| scons target=${{ matrix.build_target_type }} platform=${{ matrix.target.platform }} arch=${{ matrix.target.arch }} precision=${{ matrix.float_precision }} scu_build=yes | ||
| - name: Upload Artifact | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: NumDot-${{ matrix.target.platform }}-${{ matrix.target.arch }}-${{ matrix.float_precision }}-${{ matrix.build_target_type }} | ||
| path: | | ||
| ${{ github.workspace }}/build/** | ||
| merge: | ||
| runs-on: ubuntu-latest | ||
| needs: build | ||
| steps: | ||
| - name: Merge Artifacts | ||
| uses: actions/upload-artifact/merge@v4 | ||
| with: | ||
| name: NumDot-all | ||
| pattern: NumDot-* | ||
| delete-merged: true | ||