ci: test building Lego Island with the CMake build system

This commit is contained in:
Anonymous Maarten 2023-06-15 03:53:15 +02:00
parent eb171c3803
commit 9306fcb3d7

View File

@ -26,7 +26,7 @@ jobs:
key: dx5sdk key: dx5sdk
- name: Download DX5 SDK - name: Download DX5 SDK
if: steps.cache-dx5.outputs.cache-hit != 'true' if: ${{ !steps.cache-dx5.outputs.cache-hit }}
run: | run: |
cd dx5sdk cd dx5sdk
C:\msys64\usr\bin\wget.exe https://archive.org/download/idx5sdk/idx5sdk.exe C:\msys64\usr\bin\wget.exe https://archive.org/download/idx5sdk/idx5sdk.exe
@ -34,8 +34,7 @@ jobs:
7z x .\DX5SDK.EXE 7z x .\DX5SDK.EXE
- name: Cache DX5 SDK - name: Cache DX5 SDK
if: steps.cache-dx5.outputs.cache-hit != 'true' if: ${{ !steps.cache-dx5.outputs.cache-hit }}
id: save-dx5
uses: actions/cache/save@v3 uses: actions/cache/save@v3
with: with:
path: dx5sdk path: dx5sdk
@ -54,15 +53,51 @@ jobs:
mkdir Release mkdir Release
.\msvc420\bin\NMAKE.EXE /f isle.mak CFG="ISLE - Win32 Release" .\msvc420\bin\NMAKE.EXE /f isle.mak CFG="ISLE - Win32 Release"
- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v1.13
with:
cmake-version: '3.26.4' # Selected a particular version to avoid a look-up
- name: Build (CMake)
shell: cmd
run: |
call .\msvc420\bin\VCVARS32.BAT x86
cmake -S . -B cmake-build -DCMAKE_INSTALL_PREFIX=cmake-files -DCMAKE_BUILD_TYPE=Release -G "NMake Makefiles"
cmake --build cmake-build
cmake --install cmake-build
- name: Restore cached LEGO(c) binaries
id: cache-lego-binaries
uses: actions/cache/restore@v3
with:
path: lego-binaries
key: lego-binaries
- name: Download LEGO(c) island binares
if: ${{ !steps.cache-lego-binaries.outputs.cache-hit }}
run: |
C:\msys64\usr\bin\wget.exe https://legoisland.org/download/ISLE.EXE --directory-prefix=lego-binaries
C:\msys64\usr\bin\wget.exe https://legoisland.org/download/LEGO1.DLL --directory-prefix=lego-binaries
- name: Cache LEGO(c) binaries
if: ${{ !steps.cache-lego-binaries.outputs.cache-hit }}
uses: actions/cache/save@v3
with:
path: lego-binaries
key: lego-binaries
- name: Summarize Accuracy - name: Summarize Accuracy
shell: cmd shell: cmd
run: | run: |
C:\msys64\usr\bin\wget.exe https://legoisland.org/download/ISLE.EXE pip install -r tools/reccmp/requirements.txt
C:\msys64\usr\bin\wget.exe https://legoisland.org/download/LEGO1.DLL python3 tools/reccmp/reccmp.py -H ISLEPROGRESS.HTML lego-binaries/ISLE.EXE Release/ISLE.EXE Release/ISLE.PDB .
pip install capstone python3 tools/reccmp/reccmp.py -H LEGO1PROGRESS.HTML lego-binaries/LEGO1.DLL Release/LEGO1.DLL Release/LEGO1.PDB .
pip install colorama
python3 tools/reccmp/reccmp.py -H ISLEPROGRESS.HTML ISLE.EXE Release/ISLE.EXE Release/ISLE.PDB . - name: Summarize Accuracy (CMake)
python3 tools/reccmp/reccmp.py -H LEGO1PROGRESS.HTML LEGO1.DLL Release/LEGO1.DLL Release/LEGO1.PDB . shell: cmd
run: |
python3 tools/reccmp/reccmp.py -H cmake-files/ISLEPROGRESS.HTML lego-binaries/ISLE.EXE cmake-files/ISLE.EXE cmake-files/ISLE.PDB .
python3 tools/reccmp/reccmp.py -H cmake-files/LEGO1PROGRESS.HTML lego-binaries/LEGO1.DLL cmake-files/LEGO1.DLL cmake-files/LEGO1.PDB .
- name: Upload Artifact - name: Upload Artifact
uses: actions/upload-artifact@master uses: actions/upload-artifact@master
@ -72,3 +107,4 @@ jobs:
Release Release
ISLEPROGRESS.HTML ISLEPROGRESS.HTML
LEGO1PROGRESS.HTML LEGO1PROGRESS.HTML
cmake-files