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
This commit is contained in:
Joyless
2025-04-19 19:07:31 +01:00
parent dd70091fdf
commit cb186a676a

View File

@@ -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