Merge pull request #23 from Stalin-143/copilot/create-release-version

Add release automation with tag-triggered workflow
This commit is contained in:
Stalin
2026-02-04 22:03:12 +05:30
committed by GitHub
4 changed files with 78 additions and 6 deletions
+27 -6
View File
@@ -1,6 +1,10 @@
name: Create Release
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'
- 'v[0-9]+.[0-9]+.[0-9]+-*'
workflow_dispatch:
inputs:
version:
@@ -26,13 +30,30 @@ jobs:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v3
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Get version
id: get_version
run: |
if [ "${{ github.event_name }}" = "push" ]; then
VERSION="${GITHUB_REF#refs/tags/}"
else
VERSION="${{ inputs.version }}"
fi
echo "version=$VERSION" >> $GITHUB_OUTPUT
# Determine if it's a prerelease (contains hyphen after version number)
if [[ "$VERSION" =~ ^v[0-9]+\.[0-9]+\.[0-9]+-.+ ]]; then
echo "prerelease=true" >> $GITHUB_OUTPUT
else
echo "prerelease=${{ inputs.prerelease || 'false' }}" >> $GITHUB_OUTPUT
fi
- name: Validate version format
run: |
if [[ ! "${{ inputs.version }}" =~ ^v[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9.]+)?$ ]]; then
VERSION="${{ steps.get_version.outputs.version }}"
if [[ ! "$VERSION" =~ ^v[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9.]+)?$ ]]; then
echo "Error: Version must follow semantic versioning (e.g., v1.0.0 or v1.0.0-beta.1)"
exit 1
fi
@@ -40,10 +61,10 @@ jobs:
- name: Create Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ inputs.version }}
name: Release ${{ inputs.version }}
tag_name: ${{ steps.get_version.outputs.version }}
name: Release ${{ steps.get_version.outputs.version }}
body: |
## Keylogger ${{ inputs.version }}
## Keylogger ${{ steps.get_version.outputs.version }}
### 📦 What's Included
- Main keylogger script (`src/keylogger.py`)
@@ -68,7 +89,7 @@ jobs:
See [README.md](https://github.com/Stalin-143/Keylogger/blob/main/README.md) for full documentation.
draft: false
prerelease: ${{ inputs.prerelease }}
prerelease: ${{ steps.get_version.outputs.prerelease }}
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+32
View File
@@ -0,0 +1,32 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.0.0] - 2026-02-04
### Added
- Initial release of the Keylogger project
- Main keylogger script (`src/keylogger.py`) with keystroke logging capabilities
- Web server (`src/server.py`) for viewing logs through a secure interface
- Configuration management via JSON config files and environment variables
- Command-line interface with flexible argument parsing
- Batch processing to reduce network overhead
- Basic authentication for the web interface
- Setup script (`setup.sh`) for easy installation
- Comprehensive documentation including README, SECURITY, and DISCLAIMER files
- GitHub Actions workflows for CI/CD and releases
### Security
- Password-protected web interface
- Environment variable support for sensitive credentials
- Security policy documentation (SECURITY.md)
## [Unreleased]
### Planned
- Enhanced encryption for log transmission
- Multi-platform support improvements
- Additional authentication methods
+18
View File
@@ -242,6 +242,24 @@ Contributions are welcome! Please make sure to follow ethical guidelines and leg
See our [Contributors Hall of Fame](CONTRIBUTORS.md) to view all the amazing people who have contributed to this project! ✨
### Creating Releases
Releases can be created in two ways:
1. **Using Git tags** (recommended):
```bash
git tag v1.0.0
git push origin v1.0.0
```
This automatically triggers the release workflow.
2. **Manual workflow dispatch**:
- Go to Actions → Create Release
- Click "Run workflow"
- Enter the version (e.g., `v1.0.0`)
See [CHANGELOG.md](CHANGELOG.md) for version history.
## 📜 License
This project is licensed under the [License](LICENSE)
+1
View File
@@ -0,0 +1 @@
1.0.0