From cb186a676ae249f1e80d826dd983977978974c4b Mon Sep 17 00:00:00 2001 From: Joyless <65855333+Joy-less@users.noreply.github.com> Date: Sat, 19 Apr 2025 19:07:31 +0100 Subject: [PATCH] Improve workflow architectures - Adds `linux x86_32`, `linux arm64`, `linux arm32`, `windows arm64`, `template_release` for non-`linux` builds - Rearranges builds for consistency - Fixes spelling error - Adds trailing comma to make it easier to add new items --- .github/workflows/builds.yml | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/.github/workflows/builds.yml b/.github/workflows/builds.yml index 9d15e16..f22d055 100644 --- a/.github/workflows/builds.yml +++ b/.github/workflows/builds.yml @@ -11,31 +11,27 @@ jobs: fail-fast: false matrix: # A build is made for every possible combination of parameters - # You can add or remove entries from the arrays of each parameter to custimize which builds you want to run + # You can add or remove entries from the arrays of each parameter to customize which builds you want to run # See https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/running-variations-of-jobs-in-a-workflow 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: arm64, os: ubuntu-22.04 }, - { platform: android, arch: arm32, os: ubuntu-22.04 }, { 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 } + { platform: web, arch: wasm32, os: ubuntu-22.04 }, ] - target-type: [template_debug] + target-type: [template_debug, template_release] float-precision: [single, double] - include: # Also build a release version for these specific targets. Remove if you add template_release above. - - target: { platform: linux, arch: x86_64, os: ubuntu-22.04 } - target-type: template_release - float-precision: single - - - target: { platform: linux, arch: x86_64, os: ubuntu-22.04 } - target-type: template_release - float-precision: double runs-on: ${{ matrix.target.os }} steps: @@ -55,6 +51,12 @@ jobs: # run: | # clang-format src/** --dry-run --Werror + # Add linux x86_32 toolchain + - name: Install multilib support + if: ${{ matrix.target.platform == 'linux' && matrix.target.arch == 'x86_32' }} + run: | + sudo apt-get update && sudo apt-get install -y gcc-multilib g++-multilib + # Setup dependencies - name: Setup godot-cpp uses: ./godot-cpp/.github/actions/setup-godot-cpp