177 lines
5.8 KiB
YAML
177 lines
5.8 KiB
YAML
name: Il2CppInspectorRedux Build
|
|
|
|
on: [push, workflow_dispatch]
|
|
|
|
jobs:
|
|
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:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
submodules: true
|
|
|
|
- name: Setup .NET SDK
|
|
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
|
|
|
|
- name: Cache NuGet packages
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ~/.nuget/packages
|
|
key: ${{ runner.os }}-nuget-redux-gui-${{ hashFiles('**/packages.lock.json') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-nuget-redux-gui-
|
|
|
|
- name: Restore NuGet packages
|
|
run: dotnet restore -r win-x64 ./Il2CppInspector.Redux.GUI
|
|
|
|
# note: we embed the exe directly into the c# component, and it it is built alongside it
|
|
# in another msbuild target.
|
|
- name: Build GUI
|
|
run: dotnet publish ./Il2CppInspector.Redux.GUI/Il2CppInspector.Redux.GUI.csproj -r win-x64 --no-self-contained
|
|
|
|
- name: Copy components to output directory
|
|
run: |
|
|
mkdir ./build_output
|
|
cp ./Il2CppInspector.Redux.GUI/bin/Release/net9.0/win-x64/publish/Il2CppInspector.Redux.GUI.exe ./build_output/
|
|
|
|
- name: Upload GUI Artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: Il2CppInspectorRedux.GUI
|
|
path: build_output
|
|
|
|
build-redux-cli:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
dotnet-version: [ '9.0.x' ]
|
|
rid: ['win-x64', 'linux-x64', 'linux-arm64', 'osx-x64', 'osx-arm64']
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
submodules: true
|
|
|
|
- name: Setup .NET SDK ${{ matrix.dotnet-version }}
|
|
uses: actions/setup-dotnet@v4
|
|
with:
|
|
dotnet-version: ${{ matrix.dotnet-version }}
|
|
|
|
- name: Cache NuGet packages
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ~/.nuget/packages
|
|
key: ${{ runner.os }}-nuget-cli-${{ matrix.rid }}-${{ hashFiles('**/packages.lock.json') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-nuget-cli-${{ matrix.rid }}-
|
|
|
|
- name: Install dependencies
|
|
run: dotnet restore -r ${{ matrix.rid }} ./Il2CppInspector.Redux.CLI
|
|
|
|
- name: Build & Publish
|
|
run: dotnet publish -c Release --no-self-contained --no-restore -o ./${{ matrix.rid }} -r ${{ matrix.rid }} ./Il2CppInspector.Redux.CLI/Il2CppInspector.Redux.CLI.csproj
|
|
|
|
- name: Upload artifacts
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: Il2CppInspectorRedux.CLI-${{ matrix.rid }}
|
|
path: ./${{ matrix.rid }}
|
|
|
|
build-old-gui:
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
submodules: true
|
|
|
|
- name: Setup .NET SDK
|
|
uses: actions/setup-dotnet@v4
|
|
with:
|
|
dotnet-version: '9.0.x'
|
|
|
|
- uses: actions/cache@v4
|
|
with:
|
|
path: ~/.nuget/packages
|
|
key: ${{ runner.os }}-nuget-gui-${{ hashFiles('**/packages.lock.json') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-nuget-gui-
|
|
|
|
- name: Restore NuGet packages
|
|
run: dotnet restore -r win-x64 ./Il2CppInspector.GUI
|
|
|
|
- name: Build GUI
|
|
run: dotnet publish ./Il2CppInspector.GUI/Il2CppInspector.GUI.csproj -c Release -r win-x64 --no-self-contained
|
|
|
|
- name: Upload GUI Artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: Il2CppInspectorRedux.Old.GUI
|
|
path: Il2CppInspector.GUI/bin/Release/net9.0-windows/win-x64/publish
|
|
|
|
build-old-cli:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
dotnet-version: [ '9.0.x' ]
|
|
rid: ['win-x64', 'linux-x64', 'linux-arm64', 'osx-x64', 'osx-arm64']
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
submodules: true
|
|
|
|
- name: Setup .NET SDK ${{ matrix.dotnet-version }}
|
|
uses: actions/setup-dotnet@v4
|
|
with:
|
|
dotnet-version: ${{ matrix.dotnet-version }}
|
|
|
|
- uses: actions/cache@v3
|
|
with:
|
|
path: ~/.nuget/packages
|
|
key: ${{ runner.os }}-nuget-cli-${{ matrix.rid }}-${{ hashFiles('**/packages.lock.json') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-nuget-cli-${{ matrix.rid }}-
|
|
|
|
- name: Install dependencies
|
|
run: dotnet restore -r ${{ matrix.rid }} ./Il2CppInspector.CLI
|
|
|
|
- name: Build & Publish
|
|
run: dotnet publish -c Release --no-self-contained --no-restore -o ./${{ matrix.rid }} -r ${{ matrix.rid }} ./Il2CppInspector.CLI/Il2CppInspector.CLI.csproj
|
|
|
|
- name: Upload artifacts
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: Il2CppInspectorRedux.Old.CLI-${{ matrix.rid }}
|
|
path: ./${{ matrix.rid }}
|