Skip to content

Commit 1edf19e

Browse files
committed
Improve GitHub Actions workflow with automatic releases
Changes: - Add automatic 'latest' release for every main branch push - Create stable releases for version tags (v*.*.*) - Increase artifact retention from 30 to 90 days - Add detailed release notes with requirements and usage - Include Visual C++ Redistributable download link - Distinguish between development (latest) and stable (versioned) releases Users can now: - Download latest development build from 'latest' release - Download stable versions from tagged releases - Access builds directly without navigating artifacts
1 parent a9d0e7f commit 1edf19e

1 file changed

Lines changed: 64 additions & 4 deletions

File tree

.github/workflows/build.yml

Lines changed: 64 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,72 @@ jobs:
4646
name: ghostinjector-windows-x64-msvc
4747
path: build/Release/ghostinjector-*.exe
4848
if-no-files-found: error
49-
retention-days: 30
49+
retention-days: 90
5050

51-
- name: Create Release (on tag)
52-
if: startsWith(github.ref, 'refs/tags/')
53-
uses: softprops/action-gh-release@v1
51+
- name: Get executable name
52+
id: get-exe-name
53+
shell: pwsh
54+
run: |
55+
$exePath = Get-ChildItem -Path build\Release\ghostinjector-*.exe | Select-Object -First 1
56+
echo "exe-name=$($exePath.Name)" >> $env:GITHUB_OUTPUT
57+
echo "exe-path=$($exePath.FullName)" >> $env:GITHUB_OUTPUT
58+
59+
- name: Create/Update Latest Release
60+
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
61+
uses: softprops/action-gh-release@v2
62+
with:
63+
tag_name: latest
64+
name: Latest Build (Development)
65+
body: |
66+
## 🚀 Latest Development Build
67+
68+
**Commit:** ${{ github.sha }}
69+
**Date:** ${{ github.event.head_commit.timestamp }}
70+
**Message:** ${{ github.event.head_commit.message }}
71+
72+
### ⚠️ Requirements
73+
- Windows 10/11 (64-bit)
74+
- [Visual C++ Redistributable](https://aka.ms/vs/17/release/vc_redist.x64.exe)
75+
76+
### 📥 Download
77+
Download `${{ steps.get-exe-name.outputs.exe-name }}` below
78+
79+
### 📖 Usage
80+
```
81+
ghostinjector-1.0.2.exe <pid> <dll_path1> [dll_path2] ...
82+
```
83+
files: build/Release/ghostinjector-*.exe
84+
draft: false
85+
prerelease: true
86+
make_latest: true
87+
env:
88+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
89+
90+
- name: Create Release (on version tag)
91+
if: startsWith(github.ref, 'refs/tags/v')
92+
uses: softprops/action-gh-release@v2
5493
with:
94+
name: Release ${{ github.ref_name }}
95+
body: |
96+
## 📦 Release ${{ github.ref_name }}
97+
98+
### ⚠️ Requirements
99+
- Windows 10/11 (64-bit)
100+
- [Visual C++ Redistributable](https://aka.ms/vs/17/release/vc_redist.x64.exe)
101+
102+
### 📥 Download
103+
Download the executable below
104+
105+
### 📖 Usage
106+
```
107+
ghostinjector-1.0.2.exe <pid> <dll_path1> [dll_path2] ...
108+
```
109+
110+
### ✨ Features
111+
- Modern C++11 codebase
112+
- Command-line argument parsing with cxxopts
113+
- Support for multiple DLL injection
114+
- Positional arguments support
55115
files: build/Release/ghostinjector-*.exe
56116
draft: false
57117
prerelease: false

0 commit comments

Comments
 (0)