Merge pull request #75 from unvermuthet/main
commit
8e13217ebe
|
@ -10,252 +10,34 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
# A build is made for every possible combination of parameters
|
||||||
# Debug templates
|
# You can add or remove entries from the arrays of each parameter to custimize which builds you want to run
|
||||||
- platform: linux
|
# See https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/running-variations-of-jobs-in-a-workflow
|
||||||
float-precision: single
|
target:
|
||||||
arch: x86_64
|
[
|
||||||
target-type: template_debug
|
{ platform: linux, arch: x86_64, os: ubuntu-22.04 },
|
||||||
os: ubuntu-20.04
|
{ platform: windows, arch: x86_64, os: windows-latest },
|
||||||
|
{ platform: windows, arch: x86_32, os: windows-latest },
|
||||||
- platform: windows
|
{ platform: macos, arch: universal, os: macos-latest },
|
||||||
float-precision: single
|
{ platform: android, arch: arm64, os: ubuntu-22.04 },
|
||||||
arch: x86_32
|
{ platform: android, arch: arm32, os: ubuntu-22.04 },
|
||||||
target-type: template_debug
|
{ platform: android, arch: x86_64, os: ubuntu-22.04 },
|
||||||
os: windows-latest
|
{ platform: android, arch: x86_32, os: ubuntu-22.04 },
|
||||||
|
{ platform: ios, arch: arm64, os: macos-latest },
|
||||||
- platform: windows
|
{ platform: web, arch: wasm32, os: ubuntu-22.04 }
|
||||||
float-precision: single
|
]
|
||||||
arch: x86_64
|
target-type: [template_debug]
|
||||||
target-type: template_debug
|
float-precision: [single, double]
|
||||||
os: windows-latest
|
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 }
|
||||||
- platform: macos
|
|
||||||
float-precision: single
|
|
||||||
arch: universal
|
|
||||||
target-type: template_debug
|
|
||||||
os: macos-latest
|
|
||||||
|
|
||||||
- platform: android
|
|
||||||
float-precision: single
|
|
||||||
arch: arm64
|
|
||||||
target-type: template_debug
|
|
||||||
os: ubuntu-20.04
|
|
||||||
|
|
||||||
- platform: android
|
|
||||||
float-precision: single
|
|
||||||
arch: arm32
|
|
||||||
target-type: template_debug
|
|
||||||
os: ubuntu-20.04
|
|
||||||
|
|
||||||
- platform: android
|
|
||||||
float-precision: single
|
|
||||||
arch: x86_64
|
|
||||||
target-type: template_debug
|
|
||||||
os: ubuntu-20.04
|
|
||||||
|
|
||||||
- platform: android
|
|
||||||
float-precision: single
|
|
||||||
arch: x86_32
|
|
||||||
target-type: template_debug
|
|
||||||
os: ubuntu-20.04
|
|
||||||
|
|
||||||
- platform: ios
|
|
||||||
float-precision: single
|
|
||||||
arch: arm64
|
|
||||||
target-type: template_debug
|
|
||||||
os: macos-latest
|
|
||||||
|
|
||||||
- platform: web
|
|
||||||
float-precision: single
|
|
||||||
arch: wasm32
|
|
||||||
target-type: template_debug
|
|
||||||
os: ubuntu-20.04
|
|
||||||
|
|
||||||
# Release templates
|
|
||||||
- platform: linux
|
|
||||||
float-precision: single
|
|
||||||
arch: x86_64
|
|
||||||
target-type: template_release
|
target-type: template_release
|
||||||
os: ubuntu-20.04
|
float-precision: single
|
||||||
|
|
||||||
# - platform: windows
|
- target: { platform: linux, arch: x86_64, os: ubuntu-22.04 }
|
||||||
# float-precision: single
|
|
||||||
# arch: x86_32
|
|
||||||
# target-type: template_release
|
|
||||||
# os: windows-latest
|
|
||||||
|
|
||||||
# - platform: windows
|
|
||||||
# float-precision: single
|
|
||||||
# arch: x86_64
|
|
||||||
# target-type: template_release
|
|
||||||
# os: windows-latest
|
|
||||||
|
|
||||||
# - platform: macos
|
|
||||||
# float-precision: single
|
|
||||||
# arch: universal
|
|
||||||
# target-type: template_release
|
|
||||||
# os: macos-latest
|
|
||||||
|
|
||||||
# - platform: android
|
|
||||||
# float-precision: single
|
|
||||||
# arch: arm64
|
|
||||||
# target-type: template_release
|
|
||||||
# os: ubuntu-20.04
|
|
||||||
|
|
||||||
# - platform: android
|
|
||||||
# float-precision: single
|
|
||||||
# arch: arm32
|
|
||||||
# target-type: template_release
|
|
||||||
# os: ubuntu-20.04
|
|
||||||
|
|
||||||
# - platform: android
|
|
||||||
# float-precision: single
|
|
||||||
# arch: x86_64
|
|
||||||
# target-type: template_release
|
|
||||||
# os: ubuntu-20.04
|
|
||||||
|
|
||||||
# - platform: android
|
|
||||||
# float-precision: single
|
|
||||||
# arch: x86_32
|
|
||||||
# target-type: template_release
|
|
||||||
# os: ubuntu-20.04
|
|
||||||
|
|
||||||
# - platform: ios
|
|
||||||
# float-precision: single
|
|
||||||
# arch: arm64
|
|
||||||
# target-type: template_release
|
|
||||||
# os: macos-latest
|
|
||||||
|
|
||||||
# - platform: web
|
|
||||||
# float-precision: single
|
|
||||||
# arch: wasm32
|
|
||||||
# target-type: template_release
|
|
||||||
# os: ubuntu-20.04
|
|
||||||
|
|
||||||
# Double precision templates
|
|
||||||
# Double precision debug templates
|
|
||||||
- platform: linux
|
|
||||||
float-precision: double
|
|
||||||
arch: x86_64
|
|
||||||
target-type: template_debug
|
|
||||||
os: ubuntu-20.04
|
|
||||||
|
|
||||||
- platform: windows
|
|
||||||
float-precision: double
|
|
||||||
arch: x86_32
|
|
||||||
target-type: template_debug
|
|
||||||
os: windows-latest
|
|
||||||
|
|
||||||
- platform: windows
|
|
||||||
float-precision: double
|
|
||||||
arch: x86_64
|
|
||||||
target-type: template_debug
|
|
||||||
os: windows-latest
|
|
||||||
|
|
||||||
- platform: macos
|
|
||||||
float-precision: double
|
|
||||||
arch: universal
|
|
||||||
target-type: template_debug
|
|
||||||
os: macos-latest
|
|
||||||
|
|
||||||
- platform: android
|
|
||||||
float-precision: double
|
|
||||||
arch: arm64
|
|
||||||
target-type: template_debug
|
|
||||||
os: ubuntu-20.04
|
|
||||||
|
|
||||||
- platform: android
|
|
||||||
float-precision: double
|
|
||||||
arch: arm32
|
|
||||||
target-type: template_debug
|
|
||||||
os: ubuntu-20.04
|
|
||||||
|
|
||||||
- platform: android
|
|
||||||
float-precision: double
|
|
||||||
arch: x86_64
|
|
||||||
target-type: template_debug
|
|
||||||
os: ubuntu-20.04
|
|
||||||
|
|
||||||
- platform: android
|
|
||||||
float-precision: double
|
|
||||||
arch: x86_32
|
|
||||||
target-type: template_debug
|
|
||||||
os: ubuntu-20.04
|
|
||||||
|
|
||||||
- platform: ios
|
|
||||||
float-precision: double
|
|
||||||
arch: arm64
|
|
||||||
target-type: template_debug
|
|
||||||
os: macos-latest
|
|
||||||
|
|
||||||
- platform: web
|
|
||||||
float-precision: double
|
|
||||||
arch: wasm32
|
|
||||||
target-type: template_debug
|
|
||||||
os: ubuntu-20.04
|
|
||||||
|
|
||||||
# Double precision release templates
|
|
||||||
- platform: linux
|
|
||||||
float-precision: double
|
|
||||||
arch: x86_64
|
|
||||||
target-type: template_release
|
target-type: template_release
|
||||||
os: ubuntu-20.04
|
float-precision: double
|
||||||
|
|
||||||
# - platform: windows
|
runs-on: ${{ matrix.target.os }}
|
||||||
# float-precision: double
|
|
||||||
# arch: x86_32
|
|
||||||
# target-type: template_release
|
|
||||||
# os: windows-latest
|
|
||||||
|
|
||||||
# - platform: windows
|
|
||||||
# float-precision: double
|
|
||||||
# arch: x86_64
|
|
||||||
# target-type: template_release
|
|
||||||
# os: windows-latest
|
|
||||||
|
|
||||||
# - platform: macos
|
|
||||||
# float-precision: double
|
|
||||||
# arch: universal
|
|
||||||
# target-type: template_release
|
|
||||||
# os: macos-latest
|
|
||||||
|
|
||||||
# - platform: android
|
|
||||||
# float-precision: double
|
|
||||||
# arch: arm64
|
|
||||||
# target-type: template_release
|
|
||||||
# os: ubuntu-20.04
|
|
||||||
|
|
||||||
# - platform: android
|
|
||||||
# float-precision: double
|
|
||||||
# arch: arm32
|
|
||||||
# target-type: template_release
|
|
||||||
# os: ubuntu-20.04
|
|
||||||
|
|
||||||
# - platform: android
|
|
||||||
# float-precision: double
|
|
||||||
# arch: x86_64
|
|
||||||
# target-type: template_release
|
|
||||||
# os: ubuntu-20.04
|
|
||||||
|
|
||||||
# - platform: android
|
|
||||||
# float-precision: double
|
|
||||||
# arch: x86_32
|
|
||||||
# target-type: template_release
|
|
||||||
# os: ubuntu-20.04
|
|
||||||
|
|
||||||
# - platform: ios
|
|
||||||
# float-precision: double
|
|
||||||
# arch: arm64
|
|
||||||
# target-type: template_release
|
|
||||||
# os: macos-latest
|
|
||||||
|
|
||||||
# - platform: web
|
|
||||||
# float-precision: double
|
|
||||||
# arch: wasm32
|
|
||||||
# target-type: template_release
|
|
||||||
# os: ubuntu-20.04
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
steps:
|
steps:
|
||||||
# Clone this repository
|
# Clone this repository
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
|
@ -277,7 +59,7 @@ jobs:
|
||||||
- name: Setup godot-cpp
|
- name: Setup godot-cpp
|
||||||
uses: ./godot-cpp/.github/actions/setup-godot-cpp
|
uses: ./godot-cpp/.github/actions/setup-godot-cpp
|
||||||
with:
|
with:
|
||||||
platform: ${{ matrix.platform }}
|
platform: ${{ matrix.target.platform }}
|
||||||
em-version: 3.1.62
|
em-version: 3.1.62
|
||||||
|
|
||||||
# Build GDExtension (with caches)
|
# Build GDExtension (with caches)
|
||||||
|
@ -285,18 +67,18 @@ jobs:
|
||||||
uses: actions/cache@v4
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: ${{ github.workspace }}/.scons-cache/
|
path: ${{ github.workspace }}/.scons-cache/
|
||||||
key: ${{ matrix.platform }}_${{ matrix.arch }}_${{ matrix.float-precision }}_${{ matrix.target-type }}_cache
|
key: ${{ matrix.target.platform }}_${{ matrix.target.arch }}_${{ matrix.float-precision }}_${{ matrix.target-type }}_cache
|
||||||
- name: Build GDExtension Debug Build
|
- name: Build GDExtension Debug Build
|
||||||
shell: sh
|
shell: sh
|
||||||
env:
|
env:
|
||||||
SCONS_CACHE: ${{ github.workspace }}/.scons-cache/
|
SCONS_CACHE: ${{ github.workspace }}/.scons-cache/
|
||||||
run: |
|
run: |
|
||||||
scons target=${{ matrix.target-type }} platform=${{ matrix.platform }} arch=${{ matrix.arch }} precision=${{ matrix.float-precision }}
|
scons target=${{ matrix.target-type }} platform=${{ matrix.target.platform }} arch=${{ matrix.target.arch }} precision=${{ matrix.float-precision }}
|
||||||
|
|
||||||
# Sign the binary (macOS only)
|
# Sign the binary (macOS only)
|
||||||
- name: Mac Sign
|
- name: Mac Sign
|
||||||
# Disable sign if secrets are not set
|
# Disable sign if secrets are not set
|
||||||
if: ${{ matrix.platform == 'macos' && env.APPLE_CERT_BASE64 }}
|
if: ${{ matrix.target.platform == 'macos' && env.APPLE_CERT_BASE64 }}
|
||||||
env:
|
env:
|
||||||
APPLE_CERT_BASE64: ${{ secrets.APPLE_CERT_BASE64 }}
|
APPLE_CERT_BASE64: ${{ secrets.APPLE_CERT_BASE64 }}
|
||||||
uses: ./.github/actions/sign
|
uses: ./.github/actions/sign
|
||||||
|
@ -311,7 +93,7 @@ jobs:
|
||||||
|
|
||||||
# Clean up compilation files
|
# Clean up compilation files
|
||||||
- name: Windows - Delete compilation files
|
- name: Windows - Delete compilation files
|
||||||
if: ${{ matrix.platform == 'windows' }}
|
if: ${{ matrix.target.platform == 'windows' }}
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: |
|
run: |
|
||||||
Remove-Item bin/* -Include *.exp,*.lib,*.pdb -Force
|
Remove-Item bin/* -Include *.exp,*.lib,*.pdb -Force
|
||||||
|
@ -320,14 +102,14 @@ jobs:
|
||||||
- name: Upload Artifact
|
- name: Upload Artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: godot-cpp-template-${{ matrix.platform }}-${{ matrix.arch }}-${{ matrix.float-precision }}-${{ matrix.target-type }}
|
name: godot-cpp-template-${{ matrix.target.platform }}-${{ matrix.target.arch }}-${{ matrix.float-precision }}-${{ matrix.target-type }}
|
||||||
path: |
|
path: |
|
||||||
${{ github.workspace }}/bin/**
|
${{ github.workspace }}/bin/**
|
||||||
|
|
||||||
# Merges all the build artifacts together into a single godot-cpp-template artifact.
|
# Merges all the build artifacts together into a single godot-cpp-template artifact.
|
||||||
# If you comment out this step, all the builds will be uploaded individually.
|
# If you comment out this step, all the builds will be uploaded individually.
|
||||||
merge:
|
merge:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-22.04
|
||||||
needs: build
|
needs: build
|
||||||
steps:
|
steps:
|
||||||
- name: Merge Artifacts
|
- name: Merge Artifacts
|
||||||
|
|
Loading…
Reference in New Issue