Revert the change #37
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 Package AppImage, Windows Executable, and macOS DMG | |
| on: | |
| push: | |
| branches: | |
| - main | |
| tags: | |
| - 'v*' | |
| pull_request: | |
| jobs: | |
| build-linux: | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: recursive | |
| fetch-depth: 0 | |
| - name: Set up CMake | |
| uses: lukka/get-cmake@latest | |
| with: | |
| cmakeVersion: '3.22.0' | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y \ | |
| build-essential \ | |
| libssl-dev \ | |
| libx11-dev \ | |
| libxext-dev \ | |
| libxrandr-dev \ | |
| libxinerama-dev \ | |
| libxcursor-dev \ | |
| zlib1g-dev \ | |
| libglu1-mesa-dev \ | |
| libgtk-3-dev \ | |
| libwayland-dev \ | |
| fuse | |
| sudo modprobe fuse | |
| - name: Configure with CMake | |
| run: cmake -B build -S . -DCMAKE_BUILD_TYPE=Release | |
| - name: Build the project | |
| run: cmake --build build --config Release | |
| - name: Download linuxdeploy | |
| run: | | |
| wget "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage" | |
| wget "https://raw.githubusercontent.com/linuxdeploy/linuxdeploy-plugin-gtk/master/linuxdeploy-plugin-gtk.sh" | |
| chmod +x linuxdeploy-x86_64.AppImage linuxdeploy-plugin-gtk.sh | |
| sudo mv linuxdeploy-x86_64.AppImage /usr/local/bin/linuxdeploy | |
| - name: Create AppImage | |
| run: | | |
| cp -r build/PlayerLink linux/AppDir/usr/bin/ | |
| linuxdeploy --appdir=linux/AppDir --plugin gtk --output appimage | |
| - name: Upload AppImage artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: PlayerLink-AppImage | |
| path: ./*.AppImage | |
| build-windows: | |
| runs-on: windows-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: recursive | |
| fetch-depth: 0 | |
| - name: Set up CMake | |
| uses: lukka/get-cmake@latest | |
| with: | |
| cmakeVersion: '3.22.0' | |
| - name: Configure with CMake | |
| run: cmake -B build -S . -DCMAKE_BUILD_TYPE=Release | |
| - name: Build the project | |
| run: cmake --build build --config Release | |
| - name: Upload Windows artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: PlayerLink-Windows-Executable | |
| path: build/Release/* | |
| build-macos: | |
| runs-on: macos-15 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: recursive | |
| fetch-depth: 0 | |
| - name: Set up CMake | |
| uses: lukka/get-cmake@latest | |
| with: | |
| cmakeVersion: '3.22.0' | |
| - name: Configure with CMake | |
| run: cmake -B build -S . -DCMAKE_BUILD_TYPE=Release | |
| - name: Build the project | |
| run: cmake --build build --config Release | |
| - name: Create DMG package | |
| run: | | |
| mkdir -p dmg/PlayerLink | |
| cp -r build/PlayerLink.app dmg/PlayerLink/ | |
| hdiutil create -volname "PlayerLink" -srcfolder dmg/PlayerLink -ov -format UDZO PlayerLink.dmg | |
| - name: Upload macOS DMG artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: PlayerLink-macOS-DMG | |
| path: PlayerLink.dmg | |
| create-release: | |
| if: startsWith(github.ref, 'refs/tags/') | |
| needs: [build-linux, build-windows, build-macos] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Download artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: ./release-assets | |
| merge-multiple: true | |
| - name: Display structure of downloaded files | |
| run: ls -R ./release-assets | |
| - name: Create GitHub Release | |
| uses: actions/create-release@v1 | |
| id: create_release | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| tag_name: ${{ github.ref_name }} | |
| release_name: Release ${{ github.ref_name }} | |
| draft: false | |
| prerelease: false | |
| - name: Upload AppImage | |
| uses: actions/upload-release-asset@v1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| upload_url: ${{ steps.create_release.outputs.upload_url }} | |
| asset_path: ./release-assets/PlayerLink-x86_64.AppImage | |
| asset_name: PlayerLink-x86_64.AppImage | |
| asset_content_type: application/octet-stream | |
| - name: Upload Windows Executable | |
| uses: actions/upload-release-asset@v1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| upload_url: ${{ steps.create_release.outputs.upload_url }} | |
| asset_path: ./release-assets/PlayerLink.exe | |
| asset_name: PlayerLink.exe | |
| asset_content_type: application/octet-stream | |
| - name: Upload macOS DMG | |
| uses: actions/upload-release-asset@v1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| upload_url: ${{ steps.create_release.outputs.upload_url }} | |
| asset_path: ./release-assets/PlayerLink.dmg | |
| asset_name: PlayerLink.dmg | |
| asset_content_type: application/octet-stream |