From f13ab4d84fb1ddb711ae84ced23e05d85f0c8e5e Mon Sep 17 00:00:00 2001 From: Leroy Hopson Date: Tue, 13 Feb 2024 15:22:16 +1300 Subject: [PATCH] Re-enable native builds --- .github/workflows/main.yml | 48 +++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a9c13452..706fc853 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -67,27 +67,36 @@ jobs: addons/godot_xterm/native/bin/*.so build_native: - if: false # Temporarily disabled. name: "Build Native" runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: - platform: [javascript, osx, windows] + platform: [web, macos, windows] target: [release, debug] - bits: [64, 32] + arch: [x86_64, x86_32, wasm32, universal] + exclude: + - platform: web + arch: [x86_64, x86_32, universal] + - platform: macos + arch: [x86_64, x86_32, wasm32] + - platform: windows + arch: [wasm32, universal] include: - - platform: javascript + - platform: web os: ubuntu-22.04 - - platform: osx + - platform: macos os: macos-12 - platform: windows os: windows-2022 - exclude: - - platform: javascript - bits: 64 # Currently only wasm32 is supported. - - platform: osx - bits: 32 # Only 64-bit supported on macOS. + - arch: x86_64 + bits: 64 + - arch: x86_32 + bits: 32 + - arch: wasm32 + bits: 32 + - arch: universal + bits: 64 steps: - uses: actions/checkout@v4 with: @@ -98,9 +107,9 @@ jobs: with: platform: ${{ matrix.platform }} target: ${{ matrix.target }} - bits: ${{ matrix.bits }} + arch: ${{ matrix.arch }} - name: Cache emscripten - if: ${{ matrix.platform == 'javascript' }} + if: ${{ matrix.platform == 'web' }} uses: actions/cache@v3 env: cache-name: cache-emscripten @@ -109,14 +118,14 @@ jobs: key: emsdk-cache-${{ matrix.target }}-${{ hashFiles('**/*.c*', '**/*.h*') }} restore-keys: | emsdk-cache-${{ matrix.target }}- - - name: Install javascript build dependencies - if: ${{ matrix.platform == 'javascript' }} + - name: Install web build dependencies + if: ${{ matrix.platform == 'web' }} uses: mymindstorm/setup-emsdk@v11 with: version: 3.1.14 actions-cache-folder: emsdk-cache-${{ matrix.target }} - - name: Install additional javascript build dependencies - if: ${{ matrix.platform == 'javascript' }} + - name: Install additional web build dependencies + if: ${{ matrix.platform == 'web' }} run: sudo apt-get update && sudo apt-get install -y scons gcc-multilib g++-multilib - name: Install additional macos build dependencies if: ${{ matrix.os == 'macos-12' }} @@ -129,11 +138,6 @@ jobs: if: ${{ matrix.os == 'windows-2022' }} with: arch: win${{ matrix.bits }} - - name: Build godot-cpp bindings - if: steps.cache-submodules.outputs.cache-hit != 'true' - run: | - cd addons/godot_xterm/native/thirdparty/godot-cpp - scons platform=${{ matrix.platform }} target=${{ matrix.target }} bits=${{ matrix.bits }} generate_bindings=yes -j2 - name: Setup cmake if: steps.cache-submodules.outputs.cache-hit != 'true' uses: jwlawson/actions-setup-cmake@v2 @@ -169,7 +173,7 @@ jobs: - name: Build libgodot-xterm run: | cd addons/godot_xterm/native - scons platform=${{ matrix.platform }} target=${{ matrix.target }} bits=${{ matrix.bits }} -j2 + scons platform=${{ matrix.platform }} target=template_${{ matrix.target }} arch=${{ matrix.arch }} -j2 - name: Upload binaries uses: actions/upload-artifact@v3 with: