Build DEV7 Tools #24
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
| name: Build DEV7 Tools | |
| on: | |
| push: | |
| branches: | |
| - master | |
| tags: | |
| - 'v*' | |
| workflow_dispatch: | |
| schedule: | |
| - cron: '0 0 * * *' | |
| jobs: | |
| build-linux: | |
| name: Build Linux | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Python 3 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.x' | |
| cache: 'pip' | |
| - name: Install required libs & Nuitka | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y g++ make build-essential cmake libarchive-dev python3 genisoimage | |
| pip install nuitka | |
| - name: Checkout submodules | |
| run: git submodule update --init --recursive | |
| - name: Run configure | |
| run: ./configure | |
| - name: Compile all C++ programs | |
| run: make cmake | |
| - name: Compile all Python tools with Nuitka | |
| run: | | |
| for script in \ | |
| tools/IMGConverter/IMGConverter.py \ | |
| tools/AdultCornerDecoder/decoder.py \ | |
| tools/AdultCornerEncoder/encoder.py \ | |
| tools/IMGIdentifier/IMGIdentifier.py \ | |
| tools/OBCEditor/OBCEditor.py \ | |
| analysis-tools/PetiteDetector/PetiteDetector.py \ | |
| analysis-tools/PKLiteDetector/PKLiteDetector.py \ | |
| analysis-tools/SecuROMDetector/SecuROMDetector.py \ | |
| tools/copyDatas/copyDatas.py | |
| do | |
| python -m nuitka --onefile --output-dir=. "$script" | |
| done | |
| - name: Upload Artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: compiled-linux | |
| path: | | |
| binaries/LoaderMDO | |
| binaries/BCD1Creator | |
| binaries/DEV7Launcher | |
| binaries/ModelPathDumper | |
| binaries/OBJDumper | |
| binaries/OBCViewer | |
| binaries/CTRKViewer | |
| binaries/PLAViewer | |
| IMGConverter | |
| decoder | |
| encoder | |
| IMGIdentifier | |
| OBCEditor | |
| PetiteDetector | |
| PKLiteDetector | |
| SecuROMDetector | |
| copyDatas | |
| build-macos: | |
| name: Build macOS | |
| runs-on: macos-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Python 3 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.x' | |
| cache: 'pip' | |
| - name: Install Brew deps & Nuitka | |
| run: | | |
| brew bundle install | |
| pip install nuitka | |
| - name: Checkout submodules | |
| run: git submodule update --init --recursive | |
| - name: Run configure | |
| run: ./configure | |
| - name: Compile all C++ programs | |
| run: make cmake | |
| - name: Compile all Python tools with Nuitka | |
| run: | | |
| for script in \ | |
| tools/IMGConverter/IMGConverter.py \ | |
| tools/AdultCornerDecoder/decoder.py \ | |
| tools/AdultCornerEncoder/encoder.py \ | |
| tools/IMGIdentifier/IMGIdentifier.py \ | |
| tools/OBCEditor/OBCEditor.py \ | |
| analysis-tools/PetiteDetector/PetiteDetector.py \ | |
| analysis-tools/PKLiteDetector/PKLiteDetector.py \ | |
| analysis-tools/SecuROMDetector/SecuROMDetector.py \ | |
| tools/copyDatas/copyDatas.py | |
| do | |
| python -m nuitka --onefile --output-dir=. "$script" | |
| done | |
| - name: Upload Artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: compiled-macos | |
| path: | | |
| binaries/LoaderMDO | |
| binaries/BCD1Creator | |
| binaries/DEV7Launcher | |
| binaries/ModelPathDumper | |
| binaries/OBJDumper | |
| binaries/OBCViewer | |
| binaries/CTRKViewer | |
| binaries/PLAViewer | |
| IMGConverter | |
| decoder | |
| encoder | |
| IMGIdentifier | |
| OBCEditor | |
| PetiteDetector | |
| PKLiteDetector | |
| SecuROMDetector | |
| copyDatas | |
| build-windows: | |
| name: Build Windows | |
| runs-on: windows-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Python 3 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.x' | |
| cache: 'pip' | |
| - name: Install Nuitka | |
| run: pip install nuitka | |
| - name: Checkout submodules | |
| run: git submodule update --init --recursive | |
| - name: Configure CMake (Static Build) | |
| run: cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DCMAKE_MSVC_RUNTIME_LIBRARY="MultiThreaded" | |
| - name: Build with CMake | |
| run: cmake --build build --config Release | |
| - name: Compile all Python tools with Nuitka | |
| shell: pwsh | |
| run: | | |
| $scripts = @( | |
| "tools/IMGConverter/IMGConverter.py", | |
| "tools/AdultCornerDecoder/decoder.py", | |
| "tools/AdultCornerEncoder/encoder.py", | |
| "tools/IMGIdentifier/IMGIdentifier.py", | |
| "tools/OBCEditor/OBCEditor.py", | |
| "analysis-tools/PetiteDetector/PetiteDetector.py", | |
| "analysis-tools/PKLiteDetector/PKLiteDetector.py", | |
| "analysis-tools/SecuROMDetector/SecuROMDetector.py", | |
| "tools/copyDatas/copyDatas.py" | |
| ) | |
| foreach ($script in $scripts) { | |
| python -m nuitka --onefile --assume-yes-for-downloads --output-dir=. $script | |
| } | |
| - name: Upload Artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: compiled-windows | |
| path: | | |
| LoaderMDO.exe | |
| SYSTEM.EXE | |
| SYSTEM_RussianRelease.EXE | |
| BCD1Creator.exe | |
| DEV7Launcher.exe | |
| OBJDumper.exe | |
| ModelPathDumper.exe | |
| IMGConverter.exe | |
| decoder.exe | |
| encoder.exe | |
| IMGIdentifier.exe | |
| OBCEditor.exe | |
| PetiteDetector.exe | |
| PKLiteDetector.exe | |
| SecuROMDetector.exe | |
| OBCViewer.exe | |
| CTRKViewer.exe | |
| PLAViewer.exe | |
| SetupPatcher.exe | |
| Y2K38Patcher.exe | |
| copyDatas.exe | |
| LOADER7VC.exe |