Skip to content

Build DEV7 Tools

Build DEV7 Tools #27

Workflow file for this run

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