diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 77f19949d..f0ea8623b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,6 +19,10 @@ jobs: run: git config --global --add safe.directory "$GITHUB_WORKSPACE" - name: Prepare run: cp -R /orig/${{matrix.version}} orig + - name: Download objdiff CLI + if: github.ref == 'refs/heads/main' + run: | + python tools/download_tool.py --tag v2.0.0-alpha.5 objdiff-cli objdiff-cli - name: Build run: | python configure.py --version ${{matrix.version}} --compilers /compilers --warn error @@ -33,3 +37,13 @@ jobs: run: | python tools/upload_progress.py -b https://progress.decomp.club/ -p tww -v ${{matrix.version}} \ build/${{matrix.version}}/progress.json + - name: Generate objdiff progress report + if: github.ref == 'refs/heads/main' + run: | + ./objdiff-cli report generate -o report.json + - name: Save objdiff progress report artifact + if: github.ref == 'refs/heads/main' + uses: actions/upload-artifact@v4 + with: + name: ${{ matrix.version }}-report-${{ github.sha }} + path: report.json diff --git a/tools/download_tool.py b/tools/download_tool.py index 7b386a4ba..7bba7b164 100755 --- a/tools/download_tool.py +++ b/tools/download_tool.py @@ -66,12 +66,29 @@ def wibo_url(tag: str) -> str: return f"{repo}/releases/download/{tag}/wibo" +def objdiffcli_url(tag: str) -> str: + uname = platform.uname() + suffix = "" + system = uname.system.lower() + if system == "darwin": + system = "macos" + elif system == "windows": + suffix = ".exe" + arch = uname.machine.lower() + if arch == "amd64": + arch = "x86_64" + + repo = "https://github.com/encounter/objdiff" + return f"{repo}/releases/download/{tag}/objdiff-cli-{system}-{arch}{suffix}" + + TOOLS: Dict[str, Callable[[str], str]] = { "binutils": binutils_url, "compilers": compilers_url, "dtk": dtk_url, "sjiswrap": sjiswrap_url, "wibo": wibo_url, + "objdiff-cli": objdiffcli_url, }