Skip to content

Commit

Permalink
upd gdext
Browse files Browse the repository at this point in the history
  • Loading branch information
Ughuuu committed Apr 7, 2024
1 parent 8d66e7f commit 624639b
Show file tree
Hide file tree
Showing 15 changed files with 543 additions and 1 deletion.
51 changes: 51 additions & 0 deletions .github/workflows/build_android.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Build Android
on:
workflow_dispatch:
workflow_call:

jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- precision: single
arch: arm64
- precision: single
arch: arm32
- precision: single
arch: x86_64
- precision: single
arch: x86_32

- precision: double
arch: arm64
- precision: double
arch: arm32
- precision: double
arch: x86_64
- precision: double
arch: x86_32
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: true
fetch-depth: 0

- name: 🔗 GDExtension Build
uses: godotengine/godot-cpp-template/.github/actions/build@main
with:
platform: android
arch: ${{ matrix.arch }}
float-precision: ${{ matrix.precision }}
build-target-type: template_release

- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: Godot_Many_Bones_IK
path: |
${{ github.workspace }}/bin/**/*.so
if-no-files-found: error
40 changes: 40 additions & 0 deletions .github/workflows/build_ios.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Build iOS
on:
workflow_dispatch:
workflow_call:

jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- precision: single
arch: arm64
ios_precision_extension:
- precision: double
arch: arm64
ios_precision_extension: .double
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: true
fetch-depth: 0

- name: 🔗 GDExtension Build
uses: godotengine/godot-cpp-template/.github/actions/build@main
with:
platform: ios
arch: ${{ matrix.arch }}
float-precision: ${{ matrix.precision }}
build-target-type: template_release

- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: Godot_Many_Bones_IK
path: |
${{ github.workspace }}/bin/**/libgodot_many_bones_ik.ios.template_release${{ matrix.ios_precision_extension }}.arm64.framework/**
if-no-files-found: error
39 changes: 39 additions & 0 deletions .github/workflows/build_linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Build Linux
on:
workflow_dispatch:
workflow_call:

jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- precision: single
arch: x86_64
- precision: double
arch: x86_64

runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: true
fetch-depth: 0

- name: 🔗 GDExtension Build
uses: godotengine/godot-cpp-template/.github/actions/build@main
with:
platform: linux
arch: ${{ matrix.arch }}
float-precision: ${{ matrix.precision }}
build-target-type: template_release

- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: Godot_Many_Bones_IK
path: |
${{ github.workspace }}/bin/**/*.so
if-no-files-found: error
63 changes: 63 additions & 0 deletions .github/workflows/build_macos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Build MacOS
on:
workflow_dispatch:
workflow_call:
secrets:
APPLE_CERT_BASE64:
required: true
APPLE_CERT_PASSWORD:
required: true
APPLE_DEV_PASSWORD:
required: true
APPLE_DEV_ID:
required: true
APPLE_DEV_TEAM_ID:
required: true
APPLE_DEV_APP_ID:
required: true

jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- precision: single
mac_precision_extension:
arch: universal
- precision: double
mac_precision_extension: .double
arch: universal
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: true
fetch-depth: 0
- name: 🔗 GDExtension Build
uses: godotengine/godot-cpp-template/.github/actions/build@main
with:
platform: macos
arch: ${{ matrix.arch }}
float-precision: ${{ matrix.precision }}
build-target-type: template_release

- name: Mac Sign
uses: godotengine/godot-cpp-template/.github/actions/sign@main
with:
FRAMEWORK_PATH: bin/addons/godot_many_bones_ik/bin/libgodot_many_bones_ik.macos.template_release${{ matrix.mac_precision_extension }}.universal.framework
SIGN_FLAGS: "--deep"
APPLE_CERT_BASE64: ${{ secrets.APPLE_CERT_BASE64 }}
APPLE_CERT_PASSWORD: ${{ secrets.APPLE_CERT_PASSWORD }}
APPLE_DEV_PASSWORD: ${{ secrets.APPLE_DEV_PASSWORD }}
APPLE_DEV_ID: ${{ secrets.APPLE_DEV_ID }}
APPLE_DEV_TEAM_ID: ${{ secrets.APPLE_DEV_TEAM_ID }}
APPLE_DEV_APP_ID: ${{ secrets.APPLE_DEV_APP_ID }}
- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: Godot_Many_Bones_IK
path: |
${{ github.workspace }}/bin/**/libgodot_many_bones_ik.macos.template_release${{ matrix.mac_precision_extension }}.universal.framework/**
if-no-files-found: error
38 changes: 38 additions & 0 deletions .github/workflows/build_web.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Build Web
on:
workflow_dispatch:
workflow_call:

jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- precision: single
arch: wasm32
- precision: double
arch: wasm32
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: true
fetch-depth: 0

- name: 🔗 GDExtension Build
uses: godotengine/godot-cpp-template/.github/actions/build@main
with:
platform: web
arch: ${{ matrix.arch }}
float-precision: ${{ matrix.precision }}
build-target-type: template_release

- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: Godot_Many_Bones_IK
path: |
${{ github.workspace }}/bin/**/*.wasm
if-no-files-found: error
47 changes: 47 additions & 0 deletions .github/workflows/build_windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Build Windows
on:
workflow_dispatch:
workflow_call:

jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- precision: single
arch: x86_32
opencl_arch: Win32
- precision: single
arch: x86_64
opencl_arch: x64
- precision: double
arch: x86_32
opencl_arch: Win32
- precision: double
arch: x86_64
opencl_arch: x64
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: true
fetch-depth: 0

- name: 🔗 GDExtension Build
uses: godotengine/godot-cpp-template/.github/actions/build@main
with:
platform: windows
arch: ${{ matrix.arch }}
float-precision: ${{ matrix.precision }}
build-target-type: template_release

- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: Godot_Many_Bones_IK
path: |
${{ github.workspace }}/bin/**/*.dll
${{ github.workspace }}/bin/addons/godot_many_bones_ik/godot_many_bones_ik.gdextension
if-no-files-found: error
36 changes: 36 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Release
on:
workflow_call:

jobs:
release:
runs-on: ubuntu-20.04
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v2
with:
submodules: true
fetch-depth: 0
- name: Download artifacts
uses: actions/download-artifact@v3
with:
name: Godot_Many_Bones_IK
path: godot-many-bones-ik
- name: Delete draft release(s)
uses: hugo19941994/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Archive
shell: sh
run: zip -r "Godot_Many_Bones_IK.zip" godot-many-bones-ik
- name: Release
uses: softprops/action-gh-release@v1
with:
name: Godot Many Bones IK
files: Godot_Many_Bones_IK.zip
generate_release_notes: true
draft: true
prerelease: true
fail_on_unmatched_files: true
44 changes: 44 additions & 0 deletions .github/workflows/runner.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Builds

on:
workflow_dispatch:
pull_request:
push:
branches:
- "main"

jobs:
lint:
uses: ./.github/workflows/static_checks.yml
build_android:
needs: [lint]
uses: ./.github/workflows/build_android.yml
build_ios:
needs: [lint]
uses: ./.github/workflows/build_ios.yml
build_linux:
needs: [lint]
uses: ./.github/workflows/build_linux.yml
build_macos:
needs: [lint]
uses: ./.github/workflows/build_macos.yml
secrets:
APPLE_CERT_BASE64: ${{ secrets.APPLE_CERT_BASE64 }}
APPLE_CERT_PASSWORD: ${{ secrets.APPLE_CERT_PASSWORD }}
APPLE_DEV_PASSWORD: ${{ secrets.APPLE_DEV_PASSWORD }}
APPLE_DEV_ID: ${{ secrets.APPLE_DEV_ID }}
APPLE_DEV_TEAM_ID: ${{ secrets.APPLE_DEV_TEAM_ID }}
APPLE_DEV_APP_ID: ${{ secrets.APPLE_DEV_APP_ID }}
build_windows:
needs: [lint]
uses: ./.github/workflows/build_windows.yml
build_web:
needs: [lint]
uses: ./.github/workflows/build_web.yml

release:
name: Create Release
permissions:
contents: write
needs: [build_android, build_ios, build_linux, build_macos, build_windows, build_web]
uses: ./.github/workflows/release.yml
3 changes: 2 additions & 1 deletion .github/workflows/static_checks.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
name: 📊 Static Checks
on: [push, pull_request]
on:
workflow_call:

jobs:
static-checks:
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

.DS_Store
Loading

0 comments on commit 624639b

Please sign in to comment.