Skip to content

Commit 1b00730

Browse files
committed
Update GitHub Actions workflow to use MinGW for building GhostInjector
1 parent 6ff9c27 commit 1b00730

1 file changed

Lines changed: 16 additions & 24 deletions

File tree

.github/workflows/build.yml

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -11,54 +11,48 @@ permissions:
1111
contents: write
1212

1313
jobs:
14-
build-windows-msvc:
14+
build-windows-mingw:
1515
runs-on: windows-latest
1616

1717
steps:
1818
- name: Checkout repository
1919
uses: actions/checkout@v4
2020
with:
2121
submodules: recursive
22-
23-
- name: Setup MSVC
24-
uses: microsoft/setup-msbuild@v2
25-
22+
23+
- name: Set up MinGW
24+
run: |
25+
choco install mingw
26+
echo "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin" >> $env:GITHUB_PATH
27+
2628
- name: Configure CMake
2729
run: |
28-
cmake -B build -G "Visual Studio 17 2022" -A x64
30+
cmake -B build -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release
2931
3032
- name: Build
3133
run: |
32-
cmake --build build --config Release
34+
cmake --build build
3335
3436
- name: Rename executable
35-
run: move build\Release\ghostinjector-*.exe build\Release\ghostinjector.exe
37+
run: move build\ghostinjector-*.exe build\ghostinjector.exe
3638

3739
- name: Check DLL dependencies
38-
shell: pwsh
3940
run: |
40-
Write-Host "=== Executable Info ==="
41-
Get-ChildItem -Path build\Release\ghostinjector.exe | ForEach-Object {
42-
Write-Host "File: $($_.Name)"
43-
Write-Host "Size: $([math]::Round($_.Length / 1MB, 2)) MB"
44-
Write-Host ""
45-
}
46-
Write-Host "=== Checking for MSVC Runtime Dependencies ==="
47-
Write-Host "Note: This executable requires Visual C++ Redistributable (vcruntime140.dll)"
41+
objdump -p build/ghostinjector.exe | findstr "DLL"
4842
4943
- name: Upload artifact
5044
uses: actions/upload-artifact@v4
5145
with:
52-
name: ghostinjector-windows-x64-msvc
53-
path: build/Release/ghostinjector.exe
46+
name: ghostinjector-windows-x64-mingw
47+
path: build/ghostinjector.exe
5448
if-no-files-found: error
5549
retention-days: 90
5650

5751
- name: Get executable name
5852
id: get-exe-name
5953
shell: pwsh
6054
run: |
61-
$exePath = Get-ChildItem -Path build\Release\ghostinjector.exe | Select-Object -First 1
55+
$exePath = Get-ChildItem -Path build\ghostinjector.exe | Select-Object -First 1
6256
echo "exe-name=$($exePath.Name)" >> $env:GITHUB_OUTPUT
6357
echo "exe-path=$($exePath.FullName)" >> $env:GITHUB_OUTPUT
6458
@@ -77,7 +71,6 @@ jobs:
7771
7872
### ⚠️ Requirements
7973
- Windows 10/11 (64-bit)
80-
- [Visual C++ Redistributable](https://aka.ms/vs/17/release/vc_redist.x64.exe)
8174
8275
### 📥 Download
8376
Download `${{ steps.get-exe-name.outputs.exe-name }}` below
@@ -86,7 +79,7 @@ jobs:
8679
```
8780
ghostinjector.exe <pid> <dll_path1> [dll_path2] ...
8881
```
89-
files: build/Release/ghostinjector.exe
82+
files: build/ghostinjector.exe
9083
draft: false
9184
prerelease: true
9285
make_latest: true
@@ -103,7 +96,6 @@ jobs:
10396
10497
### ⚠️ Requirements
10598
- Windows 10/11 (64-bit)
106-
- [Visual C++ Redistributable](https://aka.ms/vs/17/release/vc_redist.x64.exe)
10799
108100
### 📥 Download
109101
Download the executable below
@@ -116,7 +108,7 @@ jobs:
116108
### ✨ Features
117109
- Support for multiple DLL injection
118110
- Positional arguments support
119-
files: build/Release/ghostinjector.exe
111+
files: build/ghostinjector.exe
120112
draft: false
121113
prerelease: false
122114
env:

0 commit comments

Comments
 (0)