mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-20 14:51:15 +00:00
Try build pipeline changes
This commit is contained in:
parent
866c370353
commit
8229d3595f
175
.github/workflows/build.yml
vendored
175
.github/workflows/build.yml
vendored
@ -59,70 +59,6 @@ jobs:
|
|||||||
-Werror=dev
|
-Werror=dev
|
||||||
cmake --build build -- -k0
|
cmake --build build -- -k0
|
||||||
|
|
||||||
build-with-entropy:
|
|
||||||
name: 'MSVC 4.20 with entropy'
|
|
||||||
runs-on: windows-latest
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
instance: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
repository: itsmattkc/msvc420
|
|
||||||
path: msvc420
|
|
||||||
|
|
||||||
- name: Setup cmake
|
|
||||||
uses: jwlawson/actions-setup-cmake@v2
|
|
||||||
with:
|
|
||||||
# Use minimum supported version
|
|
||||||
cmake-version: '3.15.x'
|
|
||||||
|
|
||||||
- name: Patch MSVC 4.2
|
|
||||||
run: |
|
|
||||||
tools/patch_c2.py msvc420/bin/C2.EXE
|
|
||||||
|
|
||||||
- name: Generate Entropy
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
# Get the first 8 characters of the SHA (enough for a decent seed)
|
|
||||||
SHA_PREFIX=$(echo "${{ github.sha }}" | cut -c 1-8)
|
|
||||||
|
|
||||||
tools/entropy.sh $((16#$SHA_PREFIX + ${{ matrix.instance }}))
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
shell: cmd
|
|
||||||
run: |
|
|
||||||
call .\msvc420\bin\VCVARS32.BAT x86
|
|
||||||
cmake -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo -DISLE_INCLUDE_ENTROPY=ON -G "NMake Makefiles"
|
|
||||||
cmake --build build
|
|
||||||
|
|
||||||
- name: Upload Artifact
|
|
||||||
uses: actions/upload-artifact@main
|
|
||||||
with:
|
|
||||||
name: Win32-Entropy-${{ matrix.instance }}
|
|
||||||
path: |
|
|
||||||
build/CONFIG.EXE
|
|
||||||
build/CONFIG.PDB
|
|
||||||
build/ISLE.EXE
|
|
||||||
build/ISLE.PDB
|
|
||||||
build/LEGO1.DLL
|
|
||||||
build/LEGO1.PDB
|
|
||||||
|
|
||||||
merge-entropy-artifacts:
|
|
||||||
name: 'Merge entropy artifacts'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: build-with-entropy
|
|
||||||
steps:
|
|
||||||
- name: Merge Artifacts
|
|
||||||
uses: actions/upload-artifact/merge@v4
|
|
||||||
with:
|
|
||||||
name: Win32-Entropy
|
|
||||||
pattern: Win32-Entropy-*
|
|
||||||
separate-directories: true
|
|
||||||
|
|
||||||
build:
|
build:
|
||||||
name: 'MSVC 4.20'
|
name: 'MSVC 4.20'
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
@ -164,6 +100,93 @@ jobs:
|
|||||||
build/LEGO1.DLL
|
build/LEGO1.DLL
|
||||||
build/LEGO1.PDB
|
build/LEGO1.PDB
|
||||||
|
|
||||||
|
build-with-entropy:
|
||||||
|
name: 'MSVC 4.20 with entropy'
|
||||||
|
needs: [fetch-deps]
|
||||||
|
runs-on: windows-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
instance: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
repository: itsmattkc/msvc420
|
||||||
|
path: msvc420
|
||||||
|
|
||||||
|
- name: Setup cmake
|
||||||
|
uses: jwlawson/actions-setup-cmake@v2
|
||||||
|
with:
|
||||||
|
# Use minimum supported version
|
||||||
|
cmake-version: '3.15.x'
|
||||||
|
|
||||||
|
- name: Patch MSVC 4.2
|
||||||
|
run: |
|
||||||
|
tools/patch_c2.py msvc420/bin/C2.EXE
|
||||||
|
|
||||||
|
- name: Generate Entropy
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
# Get the first 8 characters of the SHA (enough for a decent seed)
|
||||||
|
SHA_PREFIX=$(echo "${{ github.sha }}" | cut -c 1-8)
|
||||||
|
|
||||||
|
tools/entropy.sh $((16#$SHA_PREFIX + ${{ matrix.instance }}))
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
call .\msvc420\bin\VCVARS32.BAT x86
|
||||||
|
cmake -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo -DISLE_INCLUDE_ENTROPY=ON -G "NMake Makefiles"
|
||||||
|
cmake --build build
|
||||||
|
|
||||||
|
- name: Restore cached original binaries
|
||||||
|
id: cache-original-binaries
|
||||||
|
uses: actions/cache/restore@v4
|
||||||
|
with:
|
||||||
|
enableCrossOsArchive: true
|
||||||
|
path: legobin
|
||||||
|
key: legobin
|
||||||
|
|
||||||
|
- name: Install python packages
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
pip install -r tools/requirements.txt
|
||||||
|
|
||||||
|
- name: Detect binaries
|
||||||
|
run: |
|
||||||
|
reccmp-project detect --what original --search-path legobin
|
||||||
|
reccmp-project detect --what recompiled --search-path build
|
||||||
|
|
||||||
|
- name: Summarize Accuracy
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
reccmp-reccmp --target CONFIG --json CONFIGPROGRESS.json
|
||||||
|
reccmp-reccmp --target ISLE --json ISLEPROGRESS.json
|
||||||
|
reccmp-reccmp --target LEGO1 --json LEGO1PROGRESS.json
|
||||||
|
|
||||||
|
- name: Upload Artifact
|
||||||
|
uses: actions/upload-artifact@main
|
||||||
|
with:
|
||||||
|
name: Win32-Entropy-${{ matrix.instance }}
|
||||||
|
path: |
|
||||||
|
CONFIGPROGRESS.json
|
||||||
|
ISLEPROGRESS.json
|
||||||
|
LEGO1PROGRESS.json
|
||||||
|
|
||||||
|
merge-entropy-artifacts:
|
||||||
|
name: 'Merge entropy artifacts'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: build-with-entropy
|
||||||
|
steps:
|
||||||
|
- name: Merge Artifacts
|
||||||
|
uses: actions/upload-artifact/merge@v4
|
||||||
|
with:
|
||||||
|
name: Win32-Entropy
|
||||||
|
pattern: Win32-Entropy-*
|
||||||
|
separate-directories: true
|
||||||
|
|
||||||
compare:
|
compare:
|
||||||
name: Compare with master
|
name: Compare with master
|
||||||
needs: [build, merge-entropy-artifacts, fetch-deps]
|
needs: [build, merge-entropy-artifacts, fetch-deps]
|
||||||
@ -175,11 +198,6 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
python-version: '3.12'
|
python-version: '3.12'
|
||||||
|
|
||||||
- uses: actions/download-artifact@main
|
|
||||||
with:
|
|
||||||
name: Win32
|
|
||||||
path: build
|
|
||||||
|
|
||||||
- uses: actions/download-artifact@main
|
- uses: actions/download-artifact@main
|
||||||
with:
|
with:
|
||||||
name: Win32-Entropy
|
name: Win32-Entropy
|
||||||
@ -198,17 +216,12 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
pip install -r tools/requirements.txt
|
pip install -r tools/requirements.txt
|
||||||
|
|
||||||
- name: Detect binaries
|
- name: Denoise Accuracy
|
||||||
run: |
|
|
||||||
reccmp-project detect --what original --search-path legobin
|
|
||||||
reccmp-project detect --what recompiled --search-path build
|
|
||||||
|
|
||||||
- name: Summarize Accuracy
|
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
reccmp-reccmp -S CONFIGPROGRESS.SVG --svg-icon assets/config.png --target CONFIG --json CONFIGPROGRESS.json
|
reccmp-denoise --samples $(find build-entropy -type f -name "CONFIGPROGRESS.json") --output CONFIGPROGRESS.json
|
||||||
reccmp-reccmp -S ISLEPROGRESS.SVG --svg-icon assets/isle.png --target ISLE --json ISLEPROGRESS.json
|
reccmp-denoise --samples $(find build-entropy -type f -name "ISLEPROGRESS.json") --output ISLEPROGRESS.json
|
||||||
reccmp-reccmp -S LEGO1PROGRESS.SVG --svg-icon assets/lego1.png --target LEGO1 --json LEGO1PROGRESS.json
|
reccmp-denoise --samples $(find build-entropy -type f -name "LEGO1PROGRESS.json") --output LEGO1PROGRESS.json
|
||||||
|
|
||||||
- name: Compare Accuracy With Current Master
|
- name: Compare Accuracy With Current Master
|
||||||
shell: bash
|
shell: bash
|
||||||
@ -221,9 +234,9 @@ jobs:
|
|||||||
curl -fLSs -o LEGO1PROGRESS-old.json $RELEASE_URL/LEGO1PROGRESS.json || echo "" >LEGO1PROGRESS-old.json
|
curl -fLSs -o LEGO1PROGRESS-old.json $RELEASE_URL/LEGO1PROGRESS.json || echo "" >LEGO1PROGRESS-old.json
|
||||||
|
|
||||||
# Compare with current master
|
# Compare with current master
|
||||||
reccmp-reccmp --target CONFIG --diff CONFIGPROGRESS-old.json || echo "Current master not found"
|
reccmp-denoise --diff CONFIGPROGRESS-old.json CONFIGPROGRESS.json
|
||||||
reccmp-reccmp --target ISLE --diff ISLEPROGRESS-old.json || echo "Current master not found"
|
reccmp-denoise --diff ISLEPROGRESS-old.json ISLEPROGRESS.json
|
||||||
reccmp-reccmp --target LEGO1 --diff LEGO1PROGRESS-old.json || echo "Current master not found"
|
reccmp-denoise --diff LEGO1PROGRESS-old.json LEGO1PROGRESS.json
|
||||||
|
|
||||||
- name: Test Exports
|
- name: Test Exports
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|||||||
@ -1,3 +1,3 @@
|
|||||||
reccmp @ git+https://github.com/isledecomp/reccmp
|
reccmp @ git+https://github.com/disinvite/reccmp@pr-denoise
|
||||||
clang==16.*
|
clang==16.*
|
||||||
pyyaml
|
pyyaml
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user