1+ name : Build and Release (Windows Only)
2+
3+ on :
4+ push :
5+ tags :
6+ - ' v*' # Trigger on version tags like v1.0.0
7+ workflow_dispatch : # Allow manual trigger
8+
9+ env :
10+ PYTHON_VERSION : ' 3.10'
11+
12+ jobs :
13+ build-windows :
14+ runs-on : windows-latest
15+ steps :
16+ - name : Checkout code
17+ uses : actions/checkout@v4
18+
19+ - name : Set up Python
20+ uses : actions/setup-python@v5
21+ with :
22+ python-version : ${{ env.PYTHON_VERSION }}
23+
24+ - name : Install dependencies
25+ run : |
26+ python -m pip install --upgrade pip
27+ pip install -r requirements.txt
28+ pip install pyinstaller
29+
30+ - name : Build Windows executable
31+ run : python build_windows.py
32+
33+ - name : Upload Windows artifacts
34+ uses : actions/upload-artifact@v4
35+ with :
36+ name : windows-build
37+ path : dist/*.zip
38+
39+ create-release :
40+ needs : [build-windows]
41+ if : startsWith(github.ref, 'refs/tags/')
42+ runs-on : ubuntu-latest
43+ steps :
44+ - name : Checkout code
45+ uses : actions/checkout@v4
46+
47+ - name : Get version from tag
48+ id : get_version
49+ run : echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
50+
51+ - name : Download Windows artifacts
52+ uses : actions/download-artifact@v4
53+ with :
54+ name : windows-build
55+ path : ./artifacts/windows/
56+
57+ - name : Create Release
58+ uses : softprops/action-gh-release@v1
59+ with :
60+ name : Restim Funscript Processor ${{ steps.get_version.outputs.VERSION }}
61+ body : |
62+ ## Restim Funscript Processor ${{ steps.get_version.outputs.VERSION }}
63+
64+ ### Features
65+ - **Windows**: Single executable file - no Python installation required
66+ - **Auto-generation**: Creates alpha/beta files from main funscript when missing
67+ - **30+ Parameters**: Comprehensive control over processing with intuitive UI
68+ - **Real-time Feedback**: Progress tracking and percentage displays for ratio controls
69+
70+ ### Downloads (Windows Only)
71+ - **Windows**: Download the `.zip` file, extract, and run `RestimFunscriptProcessor.exe`
72+ - **Linux**: Linux build temporarily unavailable - working on AppImage creation issues
73+
74+ ### Generated Output Files
75+ The application processes a single input funscript and generates 10 output files:
76+ 1. `alpha.funscript` - Alpha channel data
77+ 2. `alpha-prostate.funscript` - Inverted alpha for prostate stimulation
78+ 3. `beta.funscript` - Beta channel data
79+ 4. `frequency.funscript` - Combined ramp/speed frequency
80+ 5. `pulse_frequency.funscript` - Alpha-based pulse frequency
81+ 6. `pulse_rise_time.funscript` - Composite timing signal
82+ 7. `pulse_width.funscript` - Limited alpha-based width
83+ 8. `volume.funscript` - Standard volume control
84+ 9. `volume-prostate.funscript` - Enhanced volume for prostate
85+ 10. `volume-stereostim.funscript` - Mapped volume range
86+
87+ ### Installation
88+ See the included `INSTALLATION.txt` file in each download for detailed instructions.
89+
90+ ### Support
91+ - Report issues: [GitHub Issues](https://github.com/${{ github.repository }}/issues)
92+ - Documentation: See included README.md files
93+ files : ./artifacts/windows/*.zip
94+ draft : false
95+ prerelease : false
0 commit comments