Jenova Runtime Update v0.3.9.0 Hotfix 4 #83
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Developed by Hamid.Memar | |
| name: Deploy Jenova Runtime (Linux-x64) | |
| on: [push] | |
| jobs: | |
| linux-gcc: | |
| name: Runtime Build (GCC) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout Code | |
| uses: actions/checkout@v4 | |
| - name: Set Up Python 3.10 | |
| uses: actions/setup-python@v3 | |
| with: | |
| python-version: '3.10' | |
| - name: Add Conda to System path | |
| run: | | |
| echo $CONDA/bin >> $GITHUB_PATH | |
| - name: Install Python Dependencies | |
| run: | | |
| conda install -y -c defaults -c conda-forge requests py7zr colored | |
| - name: Update Package Lists | |
| run: | | |
| sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y | |
| sudo apt update | |
| - name: Install GNU Compiler Collection 13 | |
| run: | | |
| sudo apt install gcc-13 g++-13 -y | |
| sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 130 --slave /usr/bin/g++ g++ /usr/bin/g++-13 | |
| sudo update-alternatives --config gcc | |
| sudo apt install libc6-dev | |
| sudo apt install libzstd-dev | |
| gcc --version | |
| g++ --version | |
| - name: Install CMake and Ninja | |
| run: | | |
| sudo apt install cmake ninja-build -y | |
| cmake --version | |
| ninja --version | |
| - name: Install OpenSSL | |
| run: | | |
| sudo apt-get install libssl3 | |
| sudo apt-get install libssl-dev | |
| - name: Build Jenova Runtime using GCC13 | |
| run: | | |
| python3 ./Jenova.Builder.py --skip-packaging --deploy-mode --deps-version "4.5" --compiler linux-gcc | |
| - name: Verbose Compiled Binary Dependencies | |
| run: | | |
| ldd Linux64/Jenova.Runtime.Linux64.so | |
| - name: Prepare Jenova SDK and Extension | |
| run: | | |
| mkdir -p packaging/Jenova/JenovaSDK | |
| echo "" > packaging/Jenova/JenovaSDK/.gdignore | |
| cp Source/JenovaSDK.h packaging/Jenova/JenovaSDK/ | |
| cp Jenova.Runtime.gdextension packaging/Jenova/ | |
| cp Linux64/Jenova.Runtime.Linux64.so packaging/Jenova/ | |
| - name: Upload Jenova Runtime Snapshot Build | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: jenova-runtime-gnu-snapshot-linux64 | |
| include-hidden-files: true | |
| path: packaging/ | |
| retention-days: 30 | |
| linux-clang: | |
| name: Runtime Build (LLVM) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout Code | |
| uses: actions/checkout@v4 | |
| - name: Set Up Python 3.10 | |
| uses: actions/setup-python@v3 | |
| with: | |
| python-version: '3.10' | |
| - name: Add Conda to System path | |
| run: | | |
| echo $CONDA/bin >> $GITHUB_PATH | |
| - name: Install Python Dependencies | |
| run: | | |
| conda install -y -c defaults -c conda-forge requests py7zr colored | |
| - name: Update Package Lists | |
| run: | | |
| sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y | |
| sudo apt update | |
| - name: Install LLVM Clang 19 | |
| run: | | |
| sudo apt-get remove --purge clang clang-* lld-* lldb-* llvm-* libclang-* -y | |
| sudo apt-get autoremove -y | |
| sudo apt-get autoclean | |
| sudo apt-get install clang-19 lld-19 -y | |
| sudo apt-get install libzstd-dev | |
| sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-19 100 | |
| sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-19 100 | |
| clang --version | |
| clang++ --version | |
| - name: Install CMake and Ninja | |
| run: | | |
| sudo apt install cmake ninja-build -y | |
| cmake --version | |
| ninja --version | |
| - name: Install OpenSSL | |
| run: | | |
| sudo apt-get install libssl3 | |
| sudo apt-get install libssl-dev | |
| - name: Build Jenova Runtime using LLVM CLANG19 | |
| run: | | |
| python3 ./Jenova.Builder.py --skip-packaging --deploy-mode --deps-version "4.5" --compiler linux-clang | |
| - name: Verbose Compiled Binary Dependencies | |
| run: | | |
| ldd Linux64/Jenova.Runtime.Linux64.so | |
| - name: Prepare Jenova SDK and Extension | |
| run: | | |
| mkdir -p packaging/Jenova/JenovaSDK | |
| echo "" > packaging/Jenova/JenovaSDK/.gdignore | |
| cp Source/JenovaSDK.h packaging/Jenova/JenovaSDK/ | |
| cp Jenova.Runtime.gdextension packaging/Jenova/ | |
| cp Linux64/Jenova.Runtime.Linux64.so packaging/Jenova/ | |
| - name: Upload Jenova Runtime Snapshot Build | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: jenova-runtime-clang-snapshot-linux64 | |
| include-hidden-files: true | |
| path: packaging/ | |
| retention-days: 30 |