Skip to content

bit of ecstasy cleanup #691

bit of ecstasy cleanup

bit of ecstasy cleanup #691

Workflow file for this run

name: Build
on:
push:
pull_request:
jobs:
build:
# This is a *private* build container.
# See docs/github_actions.md for more information.
container: ghcr.io/dbalatoni13/nfs-gc-build:main
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
# Add game versions here
version: [GOWE69, EUROPEGERMILESTONE, SLES-53558-A124]
steps:
# Checkout the repository
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
# Set Git config
- name: Git config
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Install PS2 dependencies
if: ${{ matrix.version == 'SLES-53558-A124' }}
run: pip install --break-system-packages -r requirements.txt
# Copy the original files to the workspace
- name: Prepare
run: cp -R /orig .
# Build the project
- name: Build
run: |
# Select binutils path based on version index
if [[ "${{ matrix.version }}" == 'SLES-53558-A124' ]]; then
BINUTILS="/mips_binutils"
else
BINUTILS="/ppc_binutils"
fi
python configure.py --map --version ${{ matrix.version }} \
--binutils "$BINUTILS" --compilers /compilers
ninja all_source progress build/${{ matrix.version }}/report.json
- name: Generate GC Dwarf report
if: ${{ github.event_name == 'push' && matrix.version == 'GOWE69' }}
run: |
pip install --break-system-packages pyelftools
build/tools/dtk dwarf dump \
orig/GOWE69/NFSMWRELEASE.ELF \
-o symbols/mw_dwarfdump.nothpp
python tools/split_dwarf_info.py \
symbols/mw_dwarfdump.nothpp \
symbols/Dwarf
python tools/generate-dwarf-report.py
# Upload map files
- name: Upload map
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.version }}_maps
path: build/${{ matrix.version }}/**/*.MAP
- name: Upload GC Dwarf report
if: ${{ github.event_name == 'push' && matrix.version == 'GOWE69' }}
uses: actions/upload-artifact@v4
with:
name: GC_Dwarf_report
path: build/GC_Dwarf/report.json
# Upload progress report
- name: Upload report
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.version }}_report
path: build/${{ matrix.version }}/report.json