From 7f027660ba34de4266101c557dc72edc9c21ecff Mon Sep 17 00:00:00 2001 From: Robert MacRae Date: Sat, 24 Jan 2026 17:17:51 -0400 Subject: [PATCH] Update build-client.yml --- .github/workflows/build-client.yml | 77 ++++++++++++++++++++---------- 1 file changed, 53 insertions(+), 24 deletions(-) diff --git a/.github/workflows/build-client.yml b/.github/workflows/build-client.yml index f080b8a..c80a3a0 100644 --- a/.github/workflows/build-client.yml +++ b/.github/workflows/build-client.yml @@ -110,46 +110,52 @@ jobs: - name: Create release directory run: mkdir -p release - - name: Organize files by platform + - name: Organize executables by platform run: | - # Windows files + # Create platform directories mkdir -p release/Windows - if [ -d "artifacts/client-windows-latest" ]; then - cp -r artifacts/client-windows-latest/* release/Windows/ || true - fi - - # macOS files - mkdir -p release/macOS - if [ -d "artifacts/client-macos-latest" ]; then - cp -r artifacts/client-macos-latest/* release/macOS/ || true - fi - - # Linux files + mkdir -p release/macOS mkdir -p release/Linux + + # Windows executables + if [ -d "artifacts/client-windows-latest" ]; then + find artifacts/client-windows-latest -name "*.exe" -type f -exec cp {} release/Windows/ \; + find artifacts/client-windows-latest -name "*.msi" -type f -exec cp {} release/Windows/ \; + fi + + # macOS executables + if [ -d "artifacts/client-macos-latest" ]; then + find artifacts/client-macos-latest -name "*.dmg" -type f -exec cp {} release/macOS/ \; + find artifacts/client-macos-latest -name "*.app" -type d -exec cp -r {} release/macOS/ \; + find artifacts/client-macos-latest -name "*.zip" -type f -exec cp {} release/macOS/ \; + fi + + # Linux executables if [ -d "artifacts/client-ubuntu-latest" ]; then - cp -r artifacts/client-ubuntu-latest/* release/Linux/ || true + find artifacts/client-ubuntu-latest -name "*.AppImage" -type f -exec cp {} release/Linux/ \; + find artifacts/client-ubuntu-latest -name "*.deb" -type f -exec cp {} release/Linux/ \; + find artifacts/client-ubuntu-latest -name "*.rpm" -type f -exec cp {} release/Linux/ \; fi # List what we actually got - echo "=== Build Results ===" - find release -type f -name "*" | head -20 || true + echo "=== Executables Found ===" + find release -type f -name "*" -o -name "*.app" | head -20 || true # Create platform info file - cat > release/PLATFORMS.txt << EOF + cat > release/README.txt << EOF Galaxy Strike Online - Multi-Platform Client ========================================== Windows: - - NSIS Installer (.exe) - - Portable executable (.exe) + - Run the .exe installer or portable executable macOS: - - DMG disk image - - ZIP archive + - Open the .dmg file and drag to Applications + - Or extract the .zip and run the .app Linux: - - AppImage (universal executable) - - Debian package (.deb) + - Make the .AppImage executable: chmod +x *.AppImage + - Or install the .deb package: sudo dpkg -i *.deb Build Date: $(date -u +"%Y-%m-%d %H:%M:%S UTC") Commit: ${{ github.sha }} @@ -167,7 +173,30 @@ jobs: path: Galaxy-Strike-Online-Client-${{ github.sha }}.zip retention-days: 90 - - name: Create Release + - name: Create Release (Main Branch) + if: github.event_name == 'push' && github.ref == 'refs/heads/main' + uses: softprops/action-gh-release@v1 + with: + files: Galaxy-Strike-Online-Client-${{ github.sha }}.zip + name: Galaxy Strike Online Client - Latest + body: | + Latest multi-platform client release for Galaxy Strike Online. + + Includes: + - Windows (NSIS installer + Portable) + - macOS (DMG + ZIP) + - Linux (AppImage + Debian package) + + Commit: ${{ github.sha }} + Build Date: ${{ github.event.head_commit.timestamp }} + + **Download the all-in-one zip file below for all platforms.** + draft: false + prerelease: false + tag_name: latest + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Create Release (Tags) if: startsWith(github.ref, 'refs/tags/') uses: softprops/action-gh-release@v1 with: