Build and Release Steam Game Recommend #3
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build and Release Steam Game Recommend | ||
| on: | ||
| push: | ||
| tags: | ||
| - 'v*' # Triggers when tags like v1.0.0, v1.1.0 are pushed | ||
| jobs: | ||
| build-and-release: | ||
| runs-on: windows-latest # Using Windows environment as it was tested on Windows | ||
| permissions: | ||
| contents: write | ||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v4 | ||
| - name: Setup Java 17 | ||
| uses: actions/setup-java@v4 | ||
| with: | ||
| java-version: '17' | ||
| distribution: 'temurin' | ||
| - name: Setup Node.js | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: '18' | ||
| cache: 'npm' | ||
| cache-dependency-path: electron/package-lock.json | ||
| # Build Spring Boot JAR file | ||
| - name: Build Spring Boot JAR | ||
| run: | | ||
| ./gradlew clean bootJar | ||
| shell: cmd | ||
| # Copy JAR file to Electron resources folder | ||
| - name: Copy JAR to Electron resources | ||
| run: | | ||
| if not exist "electron\resources" mkdir "electron\resources" | ||
| copy "build\libs\recommend-0.0.1-SNAPSHOT.jar" "electron\resources\" | ||
| shell: cmd | ||
| # Install Electron dependencies | ||
| - name: Install Electron dependencies | ||
| run: npm install | ||
| working-directory: electron | ||
| # Build Electron app | ||
| - name: Build Electron App | ||
| run: npm run dist | ||
| working-directory: electron | ||
| # Check build artifacts | ||
| - name: List build artifacts | ||
| run: | | ||
| echo "=== JAR Files ===" | ||
| dir build\libs\ | ||
| echo "=== Electron Build Results ===" | ||
| dir electron\dist\ | ||
| shell: cmd | ||
| # Create GitHub Release | ||
| - name: Create Release | ||
| uses: softprops/action-gh-release@v1 | ||
| permissions: | ||
| contents: write | ||
| with: | ||
| files: | | ||
| electron/dist/*.exe | ||
| electron/dist/*.zip | ||
| electron/dist/*.7z | ||
| electron/dist/*.nsis.7z | ||
| build/libs/recommend-0.0.1-SNAPSHOT.jar | ||
| body: | | ||
| ## 🎮 Steam Game Recommend ${{ github.ref_name }} | ||
| A new version of the Steam Game Recommendation desktop application has been released! | ||
| ### 📥 Download Options | ||
| **For Windows Users:** | ||
| - `Steam-Game-Recommend-1.0.0-Setup.exe` - Installer (Recommended) | ||
| - `Steam-Game-Recommend-1.0.0-win.zip` - Portable version | ||
| **For Developers/Server Deployment:** | ||
| - `recommend-0.0.1-SNAPSHOT.jar` - Spring Boot server only | ||
| ### 🚀 Installation Instructions | ||
| 1. Download the `Steam-Game-Recommend-1.0.0-Setup.exe` file | ||
| 2. Run the file to start the installation process | ||
| 3. After installation, launch the app from desktop or start menu | ||
| 4. Configure Steam API key and Gemini API key on first run | ||
| ### 📋 System Requirements | ||
| - Windows 10/11 (64-bit) | ||
| - Java 17+ (for direct JAR execution) | ||
| - Internet connection (for Steam API and AI recommendation features) | ||
| ### 🔧 Key Features | ||
| - 🎯 Tag-based random game recommendations | ||
| - 👤 Steam profile-based recommendations | ||
| - 🎮 Recent play history recommendations | ||
| - 🔍 Similar tag game recommendations | ||
| - 🤔 Game choice helper | ||
| - 🎲 Review guessing game | ||
| ### 🐛 Known Issues | ||
| - Windows Defender may show warnings (unsigned application) | ||
| - API key configuration required on first launch | ||
| ### 📞 Support | ||
| If you encounter any issues or have suggestions, please create an issue on GitHub! | ||
| --- | ||
| ### 🔄 Changelog | ||
| #### New Features | ||
| - Add your new features here | ||
| #### Bug Fixes | ||
| - Add your bug fixes here | ||
| #### Improvements | ||
| - Add your improvements here | ||
| env: | ||
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
| # Upload build logs on failure | ||
| - name: Upload build logs on failure | ||
| if: failure() | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: build-logs | ||
| path: | | ||
| electron/dist/ | ||
| build/ | ||
| *.log | ||