mirror of
https://github.com/NohamR/Reclass.git
synced 2026-05-10 19:59:21 +00:00
ci: switch Windows CI from MSVC to MinGW, run Linux in parallel
This commit is contained in:
34
.github/workflows/build.yml
vendored
34
.github/workflows/build.yml
vendored
@@ -22,22 +22,38 @@ jobs:
|
|||||||
uses: jurplel/install-qt-action@v4
|
uses: jurplel/install-qt-action@v4
|
||||||
with:
|
with:
|
||||||
version: '6.8.1'
|
version: '6.8.1'
|
||||||
arch: 'win64_msvc2022_64'
|
arch: 'win64_mingw'
|
||||||
cache: true
|
cache: true
|
||||||
aqtversion: '==3.1.21'
|
aqtversion: '==3.1.21'
|
||||||
|
tools: 'tools_mingw1310'
|
||||||
- uses: ilammy/msvc-dev-cmd@v1
|
|
||||||
with:
|
|
||||||
arch: x64
|
|
||||||
|
|
||||||
- name: Configure
|
- name: Configure
|
||||||
run: cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_UI_TESTS=OFF
|
shell: bash
|
||||||
|
run: |
|
||||||
|
# Find the MinGW bin directory installed by aqt
|
||||||
|
MINGW_BIN=$(find "$RUNNER_WORKSPACE" -path "*/mingw*/bin" -name "*.exe" -printf '%h\n' 2>/dev/null | head -1)
|
||||||
|
if [ -z "$MINGW_BIN" ]; then
|
||||||
|
MINGW_BIN=$(find "$IQTA_TOOLS" -path "*/mingw*/bin" -name "g++.exe" -printf '%h\n' 2>/dev/null | head -1)
|
||||||
|
fi
|
||||||
|
echo "MinGW bin: $MINGW_BIN"
|
||||||
|
export PATH="$MINGW_BIN:$PATH"
|
||||||
|
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_UI_TESTS=OFF \
|
||||||
|
-DCMAKE_C_COMPILER="$MINGW_BIN/gcc.exe" \
|
||||||
|
-DCMAKE_CXX_COMPILER="$MINGW_BIN/g++.exe"
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: cmake --build build
|
shell: bash
|
||||||
|
run: |
|
||||||
|
MINGW_BIN=$(find "$IQTA_TOOLS" -path "*/mingw*/bin" -name "g++.exe" -printf '%h\n' 2>/dev/null | head -1)
|
||||||
|
export PATH="$MINGW_BIN:$PATH"
|
||||||
|
cmake --build build
|
||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
run: ctest --test-dir build --output-on-failure
|
shell: bash
|
||||||
|
run: |
|
||||||
|
MINGW_BIN=$(find "$IQTA_TOOLS" -path "*/mingw*/bin" -name "g++.exe" -printf '%h\n' 2>/dev/null | head -1)
|
||||||
|
export PATH="$MINGW_BIN:$PATH"
|
||||||
|
ctest --test-dir build --output-on-failure
|
||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
@@ -97,7 +113,6 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
linux:
|
linux:
|
||||||
needs: windows
|
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -186,4 +201,3 @@ jobs:
|
|||||||
files: Reclass-linux64-qt6.AppImage
|
files: Reclass-linux64-qt6.AppImage
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
|||||||
26
README.md
26
README.md
@@ -6,19 +6,25 @@ This tool helps you inspect raw bytes and interpret them as types (structs, arra
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
## State
|
## Data Sources
|
||||||
|
|
||||||
- MCP (Model Context Protocol) bridge via `ReclassMcpBridge.exe`. The server starts by default and can be stopped from the File menu. It exposes all tool functionality to any MCP-compatible client (e.g. Claude Code) and falls back to UI prompts when the client requests something not yet covered by tools. To connect, add this to your MCP client config (e.g. `.mcp.json`):
|
- **File** — open any binary file and inspect its contents as structured data
|
||||||
```json
|
- **Process** — attach to a live process and read its memory in real time
|
||||||
{
|
- **WinDbg** — load `.dmp` crash dump files or connect to live debugging sessions
|
||||||
"mcpServers": {
|
|
||||||
"ReclassMcpBridge": {
|
## MCP Integration
|
||||||
"command": "path/to/build/ReclassMcpBridge.exe",
|
|
||||||
"args": []
|
Built-in [Model Context Protocol](https://modelcontextprotocol.io/) bridge via `ReclassMcpBridge`. The server does not start by default and can be toggled from the File menu. It exposes all tool functionality to any MCP-compatible client (e.g. Claude Code) and falls back to UI prompts when the client requests something not yet covered by tools. To connect, add this to your MCP client config (e.g. `.mcp.json`):
|
||||||
}
|
```json
|
||||||
|
{
|
||||||
|
"mcpServers": {
|
||||||
|
"ReclassMcpBridge": {
|
||||||
|
"command": "path/to/build/ReclassMcpBridge",
|
||||||
|
"args": []
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
}
|
||||||
|
```
|
||||||
## Build
|
## Build
|
||||||
|
|
||||||
1. Prerequisites
|
1. Prerequisites
|
||||||
|
|||||||
Reference in New Issue
Block a user