diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..f39f230 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,153 @@ +on: + push: + branches: + - main + - ci_test + paths: + - '.github/**' + - 'src/**' + - 'SConstruct' + - 'build.py' +jobs: + # android: + # name: Build for Android + # runs-on: ubuntu-20.04 + # steps: + # - uses: actions/checkout@v3 + # - name: Update Submodules + # run: git submodule update --init --recursive + # - name: Build binaries + # run: | + # sudo apt-get install scons + # python3 get_adx2le_sdk.py + # python3 build.py platform=android + # - name: Upload binaries + # uses: actions/upload-artifact@v3 + # with: + # name: bin_android + # path: ./godot-proj/addons/adxle/bin + + macos: + name: Build for macOS + runs-on: macOS-latest + steps: + - uses: actions/checkout@v3 + - name: Update Submodules + run: git submodule update --init --recursive + - name: Build binaries + run: | + brew install scons + python3 get_adx2le_sdk.py + python3 build.py platform=macos + - name: Upload binaries + uses: actions/upload-artifact@v3 + with: + name: bin_macos + path: ./godot-proj/addons/adxle/bin + + # ios: + # name: Build for iOS + # runs-on: macOS-latest + # steps: + # - uses: actions/checkout@v3 + # - name: Update Submodules + # run: git submodule update --init --recursive + # - name: Build binaries + # run: | + # brew install scons + # python3 get_adx2le_sdk.py + # python3 build.py platform=ios + # - name: Upload binaries + # uses: actions/upload-artifact@v3 + # with: + # name: bin_ios + # path: ./godot-proj/addons/adxle/bin + + windows: + name: Build for Windows + runs-on: windows-latest + steps: + - uses: actions/checkout@v3 + - name: Update Submodules + run: git submodule update --init --recursive + - name: Build binaries + run: | + python -m pip install scons + python get_adx2le_sdk.py + python build.py platform=windows + shell: cmd + - name: Upload binaries + uses: actions/upload-artifact@v3 + with: + name: bin_windows + path: ./godot-proj/addons/adxle/bin + + # web: + # name: Build for Web + # runs-on: ubuntu-20.04 + # steps: + # - uses: actions/checkout@v3 + # - name: Update Submodules + # run: git submodule update --init --recursive + # - name: Setup emsdk + # uses: mymindstorm/setup-emsdk@v12 + # with: + # version: 3.1.18 + # actions-cache-folder: './emsdk' + # - name: Build binaries + # run: | + # sudo apt-get install scons + # python3 get_adx2le_sdk.py + # python3 build.py platform=web + # - name: Upload binaries + # uses: actions/upload-artifact@v3 + # with: + # name: bin_web + # path: ./godot-proj/addons/adxle/bin + + merge: + name: Merge + runs-on: ubuntu-20.04 + needs: [linux, android, macos, ios, windows, web] + steps: + - uses: actions/checkout@v3 + + # - name: Download Android binaries + # uses: actions/download-artifact@v1 + # with: + # name: bin_android + + - name: Download macOS binaries + uses: actions/download-artifact@v1 + with: + name: bin_macos + + # - name: Download iOS binaries + # uses: actions/download-artifact@v1 + # with: + # name: bin_ios + + # - name: Download Windows binaries + # uses: actions/download-artifact@v1 + # with: + # name: bin_windows + + # - name: Download web binaries + # uses: actions/download-artifact@v1 + # with: + # name: bin_web + + - name: Copy binaries + run: | + mkdir ./godot-proj/addons/adxle/bin + cp -r bin_android/android ./godot-proj/addons/adxle/bin/ + cp -r bin_macos/macos ./godot-proj/addons/adxle/bin/ + cp -r bin_ios/ios ./godot-proj/addons/adxle/bin/ + cp -r bin_windows/windows ./godot-proj/addons/adxle/bin/ + cp -r bin_web/web ./godot-proj/addons/adxle/bin/ + + - name: Upload built package + uses: actions/upload-artifact@v3 + with: + name: addons + path: ./godot-proj/addons diff --git a/build.py b/build.py index f4d1818..e75a455 100644 --- a/build.py +++ b/build.py @@ -34,7 +34,6 @@ def import_generate_bindings(): elif "platform=macos" in sys.argv: os.makedirs("godot-proj/addons/adxle/bin/macos", exist_ok=True) - # shutil.copytree("cri/macosx/libs", "godot-proj/addons/adxle/bin/macos", dirs_exist_ok=True) subprocess.run("scons platform=macos bits=64 target=release" + job_opt, shell = True) @@ -59,7 +58,6 @@ def import_generate_bindings(): elif "platform=ios" in sys.argv: os.makedirs("godot-proj/addons/adxle/bin/ios", exist_ok=True) - # shutil.copytree("cri/ios/libs", "godot-proj/addons/adxle/bin/ios", dirs_exist_ok=True) subprocess.run("scons platform=ios ios_arch=arm64 target=release" + job_opt, shell = True) subprocess.run("scons platform=ios ios_arch=x86_64 target=release" + job_opt, shell = True) diff --git a/get_adx2le_sdk.py b/get_adx2le_sdk.py new file mode 100644 index 0000000..36ea03a --- /dev/null +++ b/get_adx2le_sdk.py @@ -0,0 +1,23 @@ +import os +import shutil +import urllib.request + + +def main(): + sdk_package_url = "https://game.criware.jp/download/9039/?tmstv=1720058898" + print(f"SDK package URL: {sdk_package_url}") + + local_package_name = "sdk.zip" + _, message = urllib.request.urlretrieve(sdk_package_url, local_package_name) + print(message) + + if os.path.exists(local_package_name): + shutil.unpack_archive(local_package_name, extract_dir="./") + os.remove(local_package_name) + print("SDK package installation succeeded.") + else: + print("SDK package installation failed.") + + +if __name__ == "__main__": + main()