diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 8604c98..d60a5bb 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -3,7 +3,7 @@ name: Il2CppInspectorRedux Build
on: [push, workflow_dispatch]
jobs:
- build-gui:
+ build-redux-gui: # this already includes stuff only relevant for linux/macos for when the gui is released on those platforms
runs-on: windows-latest
steps:
@@ -15,25 +15,63 @@ jobs:
uses: actions/setup-dotnet@v4
with:
dotnet-version: '9.0.x'
+
+ - name: Setup pnpm
+ uses: pnpm/action-setup@v4
+ with:
+ version: 10
+ run_install: false
+
+ - name: Setup Node.JS
+ uses: actions/setup-node@v4
+ with:
+ node-version: lts/*
+ cache: "pnpm"
+
+ - name: Setup Rust
+ uses: dtolnay/rust-toolchain@stable
+ with:
+ targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }}
+
+ - name: Setup Tauri dependencies (ubuntu only)
+ if: matrix.platform == 'ubuntu-22.04'
+ run: |
+ sudo apt-get update
+ sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
+
+ - name: Install frontend dependencies
+ run: pnpm install
+ working-directory: ./Il2CppInspector.Redux.GUI.UI
- uses: actions/cache@v4
with:
path: ~/.nuget/packages
- key: ${{ runner.os }}-nuget-gui-${{ hashFiles('**/packages.lock.json') }}
+ key: ${{ runner.os }}-nuget-redux-gui-${{ hashFiles('**/packages.lock.json') }}
restore-keys: |
- ${{ runner.os }}-nuget-gui-
+ ${{ runner.os }}-nuget-redux-gui-
- name: Restore NuGet packages
- run: dotnet restore -r win-x64 ./Il2CppInspector.GUI
+ run: dotnet restore -r win-x64 ./Il2CppInspector.Redux.GUI
- - name: Build GUI
- run: dotnet publish ./Il2CppInspector.GUI/Il2CppInspector.GUI.csproj -c Release -r win-x64 --no-self-contained
+ - name: Build GUI C# component
+ run: dotnet publish ./Il2CppInspector.Redux.GUI/Il2CppInspector.Redux.GUI.csproj -r win-x64 --no-self-contained
+
+ - name: Build GUI TS component
+ run: pnpm tauri build --no-bundle
+ working-directory: ./Il2CppInspector.Redux.GUI.UI
+
+ - name: Copy components to output directory
+ run: |
+ mkdir ./build_output
+ mkdir ./build_output/resources
+ cp ./Il2CppInspector.Redux.GUI/bin/Release/net9.0/win-x64/publish/Il2CppInspector.Redux.GUI.exe ./build_output/
+ cp ./Il2CppInspector.Redux.GUI.UI/src-tauri/target/release/il2cppinspectorredux.exe ./build_output/resources/
- name: Upload GUI Artifact
uses: actions/upload-artifact@v4
with:
name: Il2CppInspectorRedux.GUI
- path: Il2CppInspector.GUI/bin/Release/net9.0-windows/win-x64/publish
+ path: build_output
build-cli:
runs-on: ubuntu-latest
diff --git a/Il2CppInspector.Redux.GUI.UI/package.json b/Il2CppInspector.Redux.GUI.UI/package.json
index 61f0f4c..9db933b 100644
--- a/Il2CppInspector.Redux.GUI.UI/package.json
+++ b/Il2CppInspector.Redux.GUI.UI/package.json
@@ -41,5 +41,6 @@
"tailwindcss-animate": "^1.0.7",
"typescript": "~5.6.2",
"vite": "^6.0.3"
- }
+ },
+ "packageManager": "pnpm@10.0.0+sha512.b8fef5494bd3fe4cbd4edabd0745df2ee5be3e4b0b8b08fa643aa3e4c6702ccc0f00d68fa8a8c9858a735a0032485a44990ed2810526c875e416f001b17df12b"
}
diff --git a/Il2CppInspector.Redux.GUI/Il2CppInspector.Redux.GUI.csproj b/Il2CppInspector.Redux.GUI/Il2CppInspector.Redux.GUI.csproj
index be11993..f0c029b 100644
--- a/Il2CppInspector.Redux.GUI/Il2CppInspector.Redux.GUI.csproj
+++ b/Il2CppInspector.Redux.GUI/Il2CppInspector.Redux.GUI.csproj
@@ -8,6 +8,7 @@
false
WinExe
+ true