mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-22 16:04:17 +00:00
15
.github/workflows/analyze.yml
vendored
15
.github/workflows/analyze.yml
vendored
@@ -1,9 +1,6 @@
|
|||||||
name: Analyze
|
name: Analyze
|
||||||
|
|
||||||
on:
|
on: [push, pull_request]
|
||||||
push:
|
|
||||||
pull_request:
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
decomplint-isle:
|
decomplint-isle:
|
||||||
@@ -18,15 +15,13 @@ jobs:
|
|||||||
- LEGO1
|
- LEGO1
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- uses: actions/checkout@v4
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Setup Python
|
- uses: actions/setup-python@v5
|
||||||
uses: actions/setup-python@v5
|
|
||||||
with:
|
with:
|
||||||
python-version: '3.13'
|
python-version: '3.12'
|
||||||
|
|
||||||
- name: Setup Python modules
|
- name: Install python libraries
|
||||||
run: |
|
run: |
|
||||||
pip install -r tools/requirements.txt
|
pip install -r tools/requirements.txt
|
||||||
|
|
||||||
|
76
.github/workflows/build.yml
vendored
76
.github/workflows/build.yml
vendored
@@ -1,9 +1,6 @@
|
|||||||
name: Build
|
name: Build
|
||||||
|
|
||||||
on:
|
on: [push, pull_request]
|
||||||
push:
|
|
||||||
pull_request:
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
fetch-deps:
|
fetch-deps:
|
||||||
@@ -25,9 +22,6 @@ jobs:
|
|||||||
- { name: 'msys2 clang32', shell: 'msys2 {0}', msystem: clang32, msys-env: mingw-w64-clang-i686, clang-tidy: true, werror: true, no-dx5-libs: true }
|
- { name: 'msys2 clang32', shell: 'msys2 {0}', msystem: clang32, msys-env: mingw-w64-clang-i686, clang-tidy: true, werror: true, no-dx5-libs: true }
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Set up MSYS2
|
- name: Set up MSYS2
|
||||||
if: ${{ !!matrix.toolchain.msystem }}
|
if: ${{ !!matrix.toolchain.msystem }}
|
||||||
uses: msys2/setup-msys2@v2
|
uses: msys2/setup-msys2@v2
|
||||||
@@ -39,19 +33,21 @@ jobs:
|
|||||||
${{ matrix.toolchain.msys-env }}-ninja
|
${{ matrix.toolchain.msys-env }}-ninja
|
||||||
${{ matrix.toolchain.msys-env }}-clang-tools-extra
|
${{ matrix.toolchain.msys-env }}-clang-tools-extra
|
||||||
|
|
||||||
- name: Setup CMake
|
- name: Setup cmake
|
||||||
if: matrix.toolchain.setup-cmake
|
if: matrix.toolchain.setup-cmake
|
||||||
uses: jwlawson/actions-setup-cmake@v2
|
uses: jwlawson/actions-setup-cmake@v2
|
||||||
|
|
||||||
- name: Setup ninja
|
- name: Setup ninja
|
||||||
if: matrix.toolchain.setup-ninja
|
if: matrix.toolchain.setup-ninja
|
||||||
uses: larziwau/gha-setup-ninja@master
|
uses: ashutoshvarma/setup-ninja@master
|
||||||
|
|
||||||
- name: Setup vcvars
|
- name: Setup vcvars
|
||||||
if: matrix.toolchain.setup-msvc
|
if: matrix.toolchain.setup-msvc
|
||||||
uses: ilammy/msvc-dev-cmd@v1
|
uses: ilammy/msvc-dev-cmd@v1
|
||||||
with:
|
with:
|
||||||
arch: amd64_x86
|
arch: amd64_x86 # Use the 64-bit x64-native cross tools to build 32-bit x86 code
|
||||||
|
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: |
|
||||||
@@ -64,25 +60,24 @@ jobs:
|
|||||||
cmake --build build -- -k0
|
cmake --build build -- -k0
|
||||||
|
|
||||||
build:
|
build:
|
||||||
name: MSVC 4.20
|
name: 'MSVC 4.20'
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- uses: actions/checkout@v4
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Checkout MSVC repository
|
- uses: actions/checkout@v4
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
with:
|
||||||
repository: itsmattkc/MSVC420
|
repository: itsmattkc/msvc420
|
||||||
path: msvc420
|
path: msvc420
|
||||||
|
|
||||||
- name: Setup CMake
|
- name: Setup cmake
|
||||||
uses: jwlawson/actions-setup-cmake@v2
|
uses: jwlawson/actions-setup-cmake@v2
|
||||||
with:
|
with:
|
||||||
cmake-version: '3.31.x'
|
# Use minimum supported version
|
||||||
|
cmake-version: '3.15.x'
|
||||||
|
|
||||||
- name: Patch MSVC
|
- name: Patch MSVC 4.2
|
||||||
run: |
|
run: |
|
||||||
tools/patch_c2.py msvc420/bin/C2.EXE
|
tools/patch_c2.py msvc420/bin/C2.EXE
|
||||||
|
|
||||||
@@ -93,8 +88,8 @@ jobs:
|
|||||||
cmake -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo -G "NMake Makefiles"
|
cmake -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo -G "NMake Makefiles"
|
||||||
cmake --build build
|
cmake --build build
|
||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload Artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@main
|
||||||
with:
|
with:
|
||||||
name: Win32
|
name: Win32
|
||||||
path: |
|
path: |
|
||||||
@@ -110,16 +105,13 @@ jobs:
|
|||||||
needs: [build, fetch-deps]
|
needs: [build, fetch-deps]
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- uses: actions/checkout@main
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Setup Python
|
- uses: actions/setup-python@v5
|
||||||
uses: actions/setup-python@v5
|
|
||||||
with:
|
with:
|
||||||
python-version: '3.13'
|
python-version: '3.12'
|
||||||
|
|
||||||
- name: Download artifact
|
- uses: actions/download-artifact@main
|
||||||
uses: actions/download-artifact@v4
|
|
||||||
with:
|
with:
|
||||||
name: Win32
|
name: Win32
|
||||||
path: build
|
path: build
|
||||||
@@ -132,7 +124,7 @@ jobs:
|
|||||||
path: legobin
|
path: legobin
|
||||||
key: legobin
|
key: legobin
|
||||||
|
|
||||||
- name: Setup Python modules
|
- name: Install python packages
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
pip install -r tools/requirements.txt
|
pip install -r tools/requirements.txt
|
||||||
@@ -142,16 +134,17 @@ jobs:
|
|||||||
reccmp-project detect --what original --search-path legobin
|
reccmp-project detect --what original --search-path legobin
|
||||||
reccmp-project detect --what recompiled --search-path build
|
reccmp-project detect --what recompiled --search-path build
|
||||||
|
|
||||||
- name: Summarize accuracy
|
- name: Summarize Accuracy
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
reccmp-reccmp -S CONFIGPROGRESS.SVG --svg-icon assets/config.png --target CONFIG | tee CONFIGPROGRESS.TXT
|
reccmp-reccmp -S CONFIGPROGRESS.SVG --svg-icon assets/config.png --target CONFIG | tee CONFIGPROGRESS.TXT
|
||||||
reccmp-reccmp -S ISLEPROGRESS.SVG --svg-icon assets/isle.png --target ISLE | tee ISLEPROGRESS.TXT
|
reccmp-reccmp -S ISLEPROGRESS.SVG --svg-icon assets/isle.png --target ISLE | tee ISLEPROGRESS.TXT
|
||||||
reccmp-reccmp -S LEGO1PROGRESS.SVG --svg-icon assets/lego1.png --target LEGO1 | tee LEGO1PROGRESS.TXT
|
reccmp-reccmp -S LEGO1PROGRESS.SVG --svg-icon assets/lego1.png --target LEGO1 | tee LEGO1PROGRESS.TXT
|
||||||
|
|
||||||
- name: Compare accuracy with current master
|
- name: Compare Accuracy With Current Master
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
|
# Compare with current master
|
||||||
curl -fLSs -o CONFIGPROGRESS-OLD.TXT https://github.com/isledecomp/isle/releases/download/continuous/CONFIGPROGRESS.TXT || echo "" >CONFIGPROGRESS-OLD.TXT
|
curl -fLSs -o CONFIGPROGRESS-OLD.TXT https://github.com/isledecomp/isle/releases/download/continuous/CONFIGPROGRESS.TXT || echo "" >CONFIGPROGRESS-OLD.TXT
|
||||||
curl -fLSs -o ISLEPROGRESS-OLD.TXT https://github.com/isledecomp/isle/releases/download/continuous/ISLEPROGRESS.TXT || echo "" >ISLEPROGRESS-OLD.TXT
|
curl -fLSs -o ISLEPROGRESS-OLD.TXT https://github.com/isledecomp/isle/releases/download/continuous/ISLEPROGRESS.TXT || echo "" >ISLEPROGRESS-OLD.TXT
|
||||||
curl -fLSs -o LEGO1PROGRESS-OLD.TXT https://github.com/isledecomp/isle/releases/download/continuous/LEGO1PROGRESS.TXT || echo "" >LEGO1PROGRESS-OLD.TXT
|
curl -fLSs -o LEGO1PROGRESS-OLD.TXT https://github.com/isledecomp/isle/releases/download/continuous/LEGO1PROGRESS.TXT || echo "" >LEGO1PROGRESS-OLD.TXT
|
||||||
@@ -160,27 +153,27 @@ jobs:
|
|||||||
diff -u0 ISLEPROGRESS-OLD.TXT ISLEPROGRESS.TXT || true
|
diff -u0 ISLEPROGRESS-OLD.TXT ISLEPROGRESS.TXT || true
|
||||||
diff -u0 LEGO1PROGRESS-OLD.TXT LEGO1PROGRESS.TXT || true
|
diff -u0 LEGO1PROGRESS-OLD.TXT LEGO1PROGRESS.TXT || true
|
||||||
|
|
||||||
- name: Test exports
|
- name: Test Exports
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
reccmp-verexp --target LEGO1
|
reccmp-verexp --target LEGO1
|
||||||
|
|
||||||
- name: Check vtables
|
- name: Check Vtables
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
reccmp-vtable --target CONFIG
|
reccmp-vtable --target CONFIG
|
||||||
reccmp-vtable --target ISLE
|
reccmp-vtable --target ISLE
|
||||||
reccmp-vtable --target LEGO1
|
reccmp-vtable --target LEGO1
|
||||||
|
|
||||||
- name: Check variables
|
- name: Check Variables
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
reccmp-datacmp --target CONFIG
|
reccmp-datacmp --target CONFIG
|
||||||
reccmp-datacmp --target ISLE
|
reccmp-datacmp --target ISLE
|
||||||
reccmp-datacmp --target LEGO1
|
reccmp-datacmp --target LEGO1
|
||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload Artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@main
|
||||||
with:
|
with:
|
||||||
name: Accuracy Report
|
name: Accuracy Report
|
||||||
path: |
|
path: |
|
||||||
@@ -194,23 +187,20 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository == 'isledecomp/isle' }}
|
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository == 'isledecomp/isle' }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout uploadtool repository
|
- uses: actions/checkout@v4
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
with:
|
||||||
repository: probonopd/uploadtool
|
repository: probonopd/uploadtool
|
||||||
|
|
||||||
- name: Download build artifact
|
- uses: actions/download-artifact@main
|
||||||
uses: actions/download-artifact@v4
|
|
||||||
with:
|
with:
|
||||||
name: Win32
|
name: Win32
|
||||||
path: build
|
path: build
|
||||||
|
|
||||||
- name: Download accuracy report artifact
|
- uses: actions/download-artifact@main
|
||||||
uses: actions/download-artifact@v4
|
|
||||||
with:
|
with:
|
||||||
name: Accuracy Report
|
name: Accuracy Report
|
||||||
|
|
||||||
- name: Upload continuous release
|
- name: Upload Continuous Release
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
UPLOAD_KEY: ${{ secrets.UPLOAD_KEY }}
|
UPLOAD_KEY: ${{ secrets.UPLOAD_KEY }}
|
||||||
|
8
.github/workflows/format.yml
vendored
8
.github/workflows/format.yml
vendored
@@ -1,9 +1,6 @@
|
|||||||
name: Format
|
name: Format
|
||||||
|
|
||||||
on:
|
on: [push, pull_request]
|
||||||
push:
|
|
||||||
pull_request:
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
clang-format:
|
clang-format:
|
||||||
@@ -11,8 +8,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- uses: actions/checkout@v4
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Run clang-format
|
- name: Run clang-format
|
||||||
run: |
|
run: |
|
||||||
|
4
.github/workflows/legobin.yml
vendored
4
.github/workflows/legobin.yml
vendored
@@ -2,12 +2,12 @@ name: Download legobin
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
fetch:
|
fetch:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
- name: Restore cached original binaries
|
- name: Restore cached original binaries
|
||||||
id: cache-original-binaries
|
id: cache-original-binaries
|
||||||
uses: actions/cache/restore@v4
|
uses: actions/cache/restore@v4
|
||||||
@@ -16,7 +16,7 @@ jobs:
|
|||||||
path: legobin
|
path: legobin
|
||||||
key: legobin
|
key: legobin
|
||||||
|
|
||||||
- name: Download original Island binaries
|
- name: Download original island binaries
|
||||||
if: ${{ !steps.cache-original-binaries.outputs.cache-hit }}
|
if: ${{ !steps.cache-original-binaries.outputs.cache-hit }}
|
||||||
run: |
|
run: |
|
||||||
wget https://legoisland.org/download/CONFIG.EXE --directory-prefix=legobin
|
wget https://legoisland.org/download/CONFIG.EXE --directory-prefix=legobin
|
||||||
|
17
.github/workflows/naming.yml
vendored
17
.github/workflows/naming.yml
vendored
@@ -1,9 +1,6 @@
|
|||||||
name: Naming
|
name: Naming
|
||||||
|
|
||||||
on:
|
on: [push, pull_request]
|
||||||
push:
|
|
||||||
pull_request:
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
ncc:
|
ncc:
|
||||||
@@ -11,20 +8,18 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- uses: actions/checkout@v4
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Setup LLVM and Clang
|
- name: Install LLVM and Clang
|
||||||
uses: KyleMayes/install-llvm-action@v2
|
uses: KyleMayes/install-llvm-action@v2
|
||||||
with:
|
with:
|
||||||
version: '16'
|
version: '16'
|
||||||
|
|
||||||
- name: Setup Python
|
- uses: actions/setup-python@v5
|
||||||
uses: actions/setup-python@v5
|
|
||||||
with:
|
with:
|
||||||
python-version: '3.13'
|
python-version: '3.12'
|
||||||
|
|
||||||
- name: Setup Python modules
|
- name: Install python libraries
|
||||||
run: |
|
run: |
|
||||||
pip install -r tools/requirements.txt
|
pip install -r tools/requirements.txt
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user