Skip to content

Commit

Permalink
Bugfix/ci/release android godot plugin (#169)
Browse files Browse the repository at this point in the history
  • Loading branch information
piiertho authored Oct 29, 2023
1 parent 6ee1b06 commit 1785cc7
Show file tree
Hide file tree
Showing 8 changed files with 63 additions and 14 deletions.
2 changes: 1 addition & 1 deletion .github/actions/create-native-build/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -112,5 +112,5 @@ runs:
uses: actions/upload-artifact@v3
with:
name: ${{ inputs.platform }}
path: ${{ env.TARGET_PATH }}${{ inputs.platform }}/**/*.${{ inputs.artifact-extension }}
path: ${{ env.TARGET_PATH }}${{ inputs.platform }}/**/*.*
if-no-files-found: error
2 changes: 0 additions & 2 deletions .github/workflows/check_pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -179,8 +179,6 @@ jobs:
- name: Run tests
if: matrix.platform != 'android' && matrix.platform != 'ios' && matrix.platform != 'windows' && matrix.target == 'editor'
run: |
cp ../libs/fmod/${{ matrix.fmod-core-platform-folder }}/libfmodL.${{ matrix.fmod-library-suffix }}* demo/addons/fmod/libs/${{ matrix.platform }}/
cp ../libs/fmod/${{ matrix.fmod-studio-platform-folder }}/libfmodstudioL.${{ matrix.fmod-library-suffix }}* demo/addons/fmod/libs/${{ matrix.platform }}/
cd demo
chmod +x run_tests.sh
chmod +x ../${{ matrix.godot-executable }}
Expand Down
26 changes: 20 additions & 6 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: 🌈 Release
on:
push:
tags:
- '\d+.\d+.\d+'
- '\d+.\d+.\d+-\d+.\d+.\d+'

# Global Settings
env:
Expand Down Expand Up @@ -231,15 +231,29 @@ jobs:
- name: Zip fmod addon
run: |
cd demo/addons/
zip -r addon.zip fmod
zip -r addons.zip fmod
- name: Upload Release Asset
id: upload-release-asset
- name: Zip android fmod plugin
run: |
cd demo/
zip -r android.zip android
- name: Upload Addon Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: ./demo/addons/addons.zip
asset_name: addons.zip
asset_content_type: application/zip

- name: Upload Android Plugin Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: ./demo/addons/addon.zip
asset_name: addon.zip
asset_path: ./demo/android.zip
asset_name: android.zip
asset_content_type: application/zip
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ as C# support is required and performance might not be on the same level as a C+

### Getting started

in order to get started, take a look at [documentation](./docs/src/doc/user-guide)
in order to get started, take a look at [documentation](https://fmod-gdextension.readthedocs.io/en/latest/)

### Continuous delivery

Expand Down
37 changes: 37 additions & 0 deletions SConstruct
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
#!/usr/bin/env python
import os
import shutil
import subprocess

from SCons.Script import SConscript, ARGUMENTS, Action, Copy

target_path = ARGUMENTS.pop("target_path", "demo/addons/fmod/libs/")
target_name = ARGUMENTS.pop("target_name", "libGodotFmod")
fmod_lib_dir = ARGUMENTS.pop("fmod_lib_dir", "../libs/fmod/")
Expand Down Expand Up @@ -163,4 +166,38 @@ if env["platform"] == "macos":

AddPostAction(library, change_id_action)


def copy_fmod_libraries(self, arg, env, executor = None):
fmod_core_lib_dir = ""
fmod_studio_lib_dir = ""

addon_fmod_libs_output = "{}{}/".format(
target_path, env["platform"]
) if env["platform"] != "android" else "{}{}/{}/".format(
target_path, env["platform"], env["arch"]
)

if env["platform"] == "macos":
fmod_core_lib_dir = env['fmod_lib_dir'] + 'osx/core/lib/'
fmod_studio_lib_dir = env['fmod_lib_dir'] + 'osx/studio/lib/'
elif env["platform"] == "linux":
fmod_core_lib_dir = env['fmod_lib_dir'] + 'linux/core/lib/' + env["arch"]
fmod_studio_lib_dir = env['fmod_lib_dir'] + 'linux/studio/lib/' + env["arch"]
elif env["platform"] == "windows":
fmod_core_lib_dir = env['fmod_lib_dir'] + 'windows/core/lib/' + arch_suffix_override + '/'
fmod_studio_lib_dir = env['fmod_lib_dir'] + 'windows/studio/lib/' + arch_suffix_override + '/'
elif env["platform"] == "ios":
fmod_core_lib_dir = env['fmod_lib_dir'] + 'ios/core/lib/'
fmod_studio_lib_dir = env['fmod_lib_dir'] + 'ios/studio/lib/'
elif env["platform"] == "android":
fmod_core_lib_dir = env['fmod_lib_dir'] + 'android/core/lib/' + arch_dir
fmod_studio_lib_dir = env['fmod_lib_dir'] + 'android/studio/lib/' + arch_dir

source_files = [env.Glob(os.path.join(source_dir, '*.*')) for source_dir in [fmod_core_lib_dir, fmod_studio_lib_dir]]
[[shutil.copy(str(file), addon_fmod_libs_output) for file in files] for files in source_files]


copy_fmod_libraries_action = Action('', copy_fmod_libraries)
AddPostAction(library, copy_fmod_libraries_action)

Default(library)
6 changes: 3 additions & 3 deletions docs/mkdocs.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
site_name: Isometric Map Module
site_name: Godot Fmod GdExtension
docs_dir: src/doc

repo_name: 'utopia-rise/fmod-gdextension'
repo_url: 'https:/utopia-rise/fmod-gdextension'

theme:
name: material
favicon: assets/img/favicon.ico
favicon: assets/favicon.ico
palette:
- scheme: default
toggle:
Expand All @@ -16,7 +16,7 @@ theme:
toggle:
icon: material/toggle-switch
name: Switch to light mode
logo: assets/img/logo.png
logo: assets/fmod-gdextension-logo.png
features:
- navigation.tabs
- navigation.sections
Expand Down
Binary file added docs/src/doc/assets/favicon.ico
Binary file not shown.
2 changes: 1 addition & 1 deletion src/nodes/fmod_event_emitter.h
Original file line number Diff line number Diff line change
Expand Up @@ -417,7 +417,7 @@ namespace godot {

template<class Derived, class NodeType>
typename FmodEventEmitter<Derived, NodeType>::Parameter* FmodEventEmitter<Derived, NodeType>::find_parameter_by_name(const String& p_name) const {
Parameter* parameter;
Parameter* parameter {nullptr};
for (const Parameter& item : _parameters) {
if (item.name != p_name) {
continue;
Expand Down

0 comments on commit 1785cc7

Please sign in to comment.