diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 933eb3f..0cacd64 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -13,17 +13,17 @@ jobs: os: [ubuntu-latest, windows-latest, macos-latest] include: - os: ubuntu-latest - artifact_name: server-shuttle-linux - asset_name: server-shuttle-linux.zip - executable_path: dist/server-shuttle + artifact_name: disco-reaper-linux + asset_name: disco-reaper-linux.zip + executable_path: dist/DiscoReaper - os: windows-latest - artifact_name: server-shuttle-windows - asset_name: server-shuttle-windows.zip - executable_path: dist/server-shuttle.exe + artifact_name: disco-reaper-windows + asset_name: disco-reaper-windows.zip + executable_path: dist/DiscoReaper.exe - os: macos-latest - artifact_name: server-shuttle-macos - asset_name: server-shuttle-macos.zip - executable_path: dist/server-shuttle + artifact_name: disco-reaper-macos + asset_name: disco-reaper-macos.zip + executable_path: dist/DiscoReaper steps: - name: Checkout code @@ -45,27 +45,27 @@ jobs: shell: python run: | from PIL import Image - img = Image.open('server-shuttle-icon.png') - img.save('server-shuttle-icon.ico', format='ICO', sizes=[(256, 256)]) + img = Image.open('disco-reaper-icon.png') + img.save('disco-reaper-icon.ico', format='ICO', sizes=[(256, 256)]) - name: Build with PyInstaller run: | echo "Listing directory contents:" ls -R || dir /s - pyinstaller server-shuttle.spec + pyinstaller disco-reaper.spec - name: Prepare Release Asset (Linux/MacOS) if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' run: | - cp ${{ matrix.executable_path }} server-shuttle - chmod +x server-shuttle - zip ${{ matrix.asset_name }} server-shuttle + cp ${{ matrix.executable_path }} DiscoReaper + chmod +x DiscoReaper + zip ${{ matrix.asset_name }} DiscoReaper - name: Prepare Release Asset (Windows) if: matrix.os == 'windows-latest' run: | - copy ${{ matrix.executable_path }} server-shuttle.exe - powershell Compress-Archive -Path "server-shuttle.exe" -DestinationPath "${{ matrix.asset_name }}" + copy ${{ matrix.executable_path }} DiscoReaper.exe + powershell Compress-Archive -Path "DiscoReaper.exe" -DestinationPath "${{ matrix.asset_name }}" - name: Upload Artifact uses: actions/upload-artifact@v4 @@ -88,8 +88,8 @@ jobs: uses: softprops/action-gh-release@v2 with: files: | - artifacts/server-shuttle-linux/server-shuttle-linux.zip - artifacts/server-shuttle-windows/server-shuttle-windows.zip - artifacts/server-shuttle-macos/server-shuttle-macos.zip + artifacts/disco-reaper-linux/disco-reaper-linux.zip + artifacts/disco-reaper-windows/disco-reaper-windows.zip + artifacts/disco-reaper-macos/disco-reaper-macos.zip env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/build.sh b/build.sh index e596cb2..1a09b4b 100755 --- a/build.sh +++ b/build.sh @@ -3,7 +3,7 @@ # Exit on error set -e -echo "--- Server Shuttle Cross-Distro Build Script ---" +echo "--- Disco-Reaper Cross-Distro Build Script ---" echo "NOTE: For maximum compatibility (glibc), run this on your oldest target Linux distribution." # Check for venv @@ -38,32 +38,31 @@ echo "Cleaning previous build artifacts..." rm -rf build/ dist/ echo "Starting PyInstaller build..." -pyinstaller --clean server-shuttle.spec +pyinstaller --clean disco-reaper.spec -echo "Generating Launch-Shuttle.sh launcher..." -cat << 'EOF' > dist/Launch-Shuttle.sh +echo "Generating Launch-Reaper.sh launcher..." +cat << 'EOF' > dist/Launch-Reaper.sh #!/bin/bash -# Convenient launcher for Server Shuttle +# Convenient launcher for Disco-Reaper # Ensures it runs in a terminal if possible, but the binary also has internal auto-terminal logic. BASEDIR=$(dirname "$0") cd "$BASEDIR" -if [ -f "./server-shuttle" ]; then - ./server-shuttle +if [ -f "./DiscoReaper" ]; then + ./DiscoReaper else - echo "Error: server-shuttle binary not found in $(pwd)" + echo "Error: DiscoReaper binary not found in $(pwd)" read -p "Press enter to exit..." fi EOF -chmod +x dist/Launch-Shuttle.sh +chmod +x dist/Launch-Reaper.sh -echo "Packaging release: server-shuttle-linux.zip..." -cp config.example.yaml dist/ +echo "Packaging release: disco-reaper-linux.zip..." cd dist if command -v zip >/dev/null 2>&1; then - zip -q server-shuttle-linux.zip server-shuttle Launch-Shuttle.sh config.example.yaml - echo "Package created: dist/server-shuttle-linux.zip" + zip -q disco-reaper-linux.zip DiscoReaper Launch-Reaper.sh + echo "Package created: dist/disco-reaper-linux.zip" else echo "Warning: 'zip' command not found. Skipping zip creation." echo "Files available in dist/ directory." @@ -72,7 +71,7 @@ cd .. echo "-----------------------------------" echo "Build complete!" -echo "Standalone executable: dist/server-shuttle" -echo "Launcher script: dist/Launch-Shuttle.sh" -echo "Release Package: dist/server-shuttle-linux.zip" +echo "Standalone executable: dist/DiscoReaper" +echo "Launcher script: dist/Launch-Reaper.sh" +echo "Release Package: dist/disco-reaper-linux.zip" echo "---" diff --git a/disco-reaper-icon.ico b/disco-reaper-icon.ico new file mode 100644 index 0000000..834fb37 Binary files /dev/null and b/disco-reaper-icon.ico differ diff --git a/server-shuttle.spec b/disco-reaper.spec similarity index 82% rename from server-shuttle.spec rename to disco-reaper.spec index d1d227a..c70804f 100644 --- a/server-shuttle.spec +++ b/disco-reaper.spec @@ -13,15 +13,15 @@ hiddenimports += collect_submodules('rich._unicode_data') # Determine the best icon to use icon_file = None -if os.path.exists('server-shuttle-icon.ico'): - icon_file = 'server-shuttle-icon.ico' -elif os.path.exists('server-shuttle-icon.png'): - icon_file = 'server-shuttle-icon.png' +if os.path.exists('disco-reaper-icon.ico'): + icon_file = 'disco-reaper-icon.ico' +elif os.path.exists('disco-reaper-icon.png'): + icon_file = 'disco-reaper-icon.png' print(f"DEBUG: Selected icon_file = {icon_file}") a = Analysis( - ['server-shuttle.py'], + ['disco-reaper.py'], pathex=[], binaries=[], datas=[], @@ -42,7 +42,7 @@ exe = EXE( a.zipfiles, a.datas, [], - name='server-shuttle', + name='DiscoReaper', debug=False, bootloader_ignore_signals=False, strip=False, diff --git a/server-shuttle-icon.png b/server-shuttle-icon.png deleted file mode 100644 index 0b7ee6b..0000000 Binary files a/server-shuttle-icon.png and /dev/null differ