Skip to content

Commit a02c505

Browse files
author
Omer Bulut
committed
fix: enable release creation for manual workflow dispatch with proper version detection
1 parent eb3dff7 commit a02c505

1 file changed

Lines changed: 50 additions & 5 deletions

File tree

.github/workflows/ci.yml

Lines changed: 50 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -130,21 +130,66 @@ jobs:
130130
131131
- name: Create Release Package
132132
run: |
133+
# Get current version from Logger.hpp
134+
CURRENT_VERSION=$(grep -o 'Version:.*[0-9]\+\.[0-9]\+\.[0-9]\+' Logger.hpp | head -1 | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+' || echo "1.1.0")
135+
echo "Creating release package for version: $CURRENT_VERSION"
136+
133137
mkdir -p release
134138
cp Logger.hpp release/
135139
cp README.md release/
136140
cp LICENSE release/
137141
cp example.cpp release/
138142
cp -r .github/ release/ 2>/dev/null || true
139-
tar -czf FreshLogger-${{ github.event.release.tag_name }}.tar.gz release/
140-
echo "Release package created: FreshLogger-${{ github.event.release.tag_name }}.tar.gz"
143+
tar -czf FreshLogger-v$CURRENT_VERSION.tar.gz release/
144+
echo "Release package created: FreshLogger-v$CURRENT_VERSION.tar.gz"
145+
146+
- name: Create GitHub Release
147+
if: github.event_name == 'workflow_dispatch'
148+
id: create_release
149+
uses: actions/create-release@v1
150+
env:
151+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
152+
with:
153+
tag_name: v${{ steps.get_version.outputs.version }}
154+
release_name: FreshLogger v${{ steps.get_version.outputs.version }}
155+
body: |
156+
## What's New in v${{ steps.get_version.outputs.version }}
157+
158+
### 🚀 Major Improvements
159+
- CI/CD Pipeline Stabilization
160+
- Test Suite Optimization
161+
- File Rotation Handling
162+
- Performance Optimizations
163+
164+
### 🔧 Bug Fixes
165+
- Fixed unit test segfault
166+
- Resolved file rotation warnings
167+
- Cleaned up console output
168+
169+
### 📚 Documentation
170+
- Technical analysis document
171+
- Performance guidelines
172+
- Production best practices
173+
174+
---
175+
**Author**: Ömer Bulut
176+
**Build**: Stable and Production Ready
177+
draft: false
178+
prerelease: false
179+
180+
- name: Get Version
181+
id: get_version
182+
run: |
183+
CURRENT_VERSION=$(grep -o 'Version:.*[0-9]\+\.[0-9]\+\.[0-9]\+' Logger.hpp | head -1 | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+' || echo "1.1.0")
184+
echo "version=$CURRENT_VERSION" >> $GITHUB_OUTPUT
141185
142186
- name: Upload Release Assets
187+
if: github.event_name == 'workflow_dispatch'
143188
uses: actions/upload-release-asset@v1
144189
env:
145190
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
146191
with:
147-
upload_url: ${{ github.event.release.upload_url }}
148-
asset_path: ./FreshLogger-${{ github.event.release.tag_name }}.tar.gz
149-
asset_name: FreshLogger-${{ github.event.release.tag_name }}.tar.gz
192+
upload_url: ${{ steps.create_release.outputs.upload_url }}
193+
asset_path: ./FreshLogger-v${{ steps.get_version.outputs.version }}.tar.gz
194+
asset_name: FreshLogger-v${{ steps.get_version.outputs.version }}.tar.gz
150195
asset_content_type: application/gzip

0 commit comments

Comments
 (0)