diff --git a/.github/workflows/gradle.yaml b/.github/workflows/gradle.yaml index bdbd1e54a..5f1c8e6cc 100644 --- a/.github/workflows/gradle.yaml +++ b/.github/workflows/gradle.yaml @@ -38,6 +38,7 @@ jobs: - name: Test with Gradle run: ./gradlew test + build: runs-on: ubuntu-latest @@ -66,9 +67,20 @@ jobs: # A file, directory or wildcard pattern that describes what to upload path: server/build/libs/* - bundle: + - name: Upload to draft release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + with: + draft: true + generate_release_notes: true + files: | + server/build/libs/* + + + bundle-linux: runs-on: ubuntu-20.04 - needs: build + needs: [build, test] + if: contains(fromJSON('["workflow_dispatch", "create"]'), github.event_name) steps: - uses: actions/checkout@v3 with: @@ -131,9 +143,27 @@ jobs: name: SlimeVR-GUI-AppImage path: target/release/bundle/appimage/slimevr*.AppImage + - name: Prepare for release + if: startsWith(github.ref, 'refs/tags/') + run: | + cp target/release/bundle/appimage/slimevr*.AppImage ./SlimeVR-amd64.appimage + cp target/release/bundle/deb/slimevr*.deb ./SlimeVR-amd64.deb + + - name: Upload to draft release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + with: + draft: true + generate_release_notes: true + files: | + ./SlimeVR-amd64.appimage + ./SlimeVR-amd64.deb + + bundle-mac: runs-on: macos-latest - needs: build + needs: [build, test] + if: contains(fromJSON('["workflow_dispatch", "create"]'), github.event_name) steps: - uses: actions/checkout@v3 with: @@ -179,3 +209,76 @@ jobs: with: name: SlimeVR-GUI-MacDmg path: target/release/bundle/dmg/slimevr.dmg + + - name: Prepare for release + if: startsWith(github.ref, 'refs/tags/') + run: | + cp target/release/bundle/dmg/slimevr.dmg ./SlimeVR-mac.dmg + + - name: Upload to draft release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + with: + draft: true + generate_release_notes: true + files: | + ./SlimeVR-mac.dmg + + + bundle-windows: + runs-on: windows-latest + needs: [build, test] + if: contains(fromJSON('["workflow_dispatch", "create"]'), github.event_name) + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + + - uses: actions/download-artifact@v3 + with: + name: "SlimeVR-Server" + path: server/build/libs/ + + - name: Cache cargo dependencies + uses: Swatinem/rust-cache@v2 + with: + shared-key: "windows-latest" + + - name: Use Node.js + uses: actions/setup-node@v3 + with: + node-version-file: '.node-version' + cache: 'npm' + + - name: Build + run: | + npm ci + npm run skipbundler + + - name: Bundle to zips + shell: bash + run: | + mkdir SlimeVR + cp gui/src-tauri/icons/icon.ico ./SlimeVR/run.ico + cp server/build/libs/slimevr.jar ./SlimeVR/slimevr.jar + cp server/resources/* ./SlimeVR/ + cp target/release/slimevr.exe ./SlimeVR/ + 7z a -tzip SlimeVR-win64.zip ./SlimeVR/ + + mv ./SlimeVR/slimevr.exe ./SlimeVR/slimevr-ui.exe + 7z a -tzip SlimeVR.zip ./SlimeVR/ + + - uses: actions/upload-artifact@v3.1.0 + with: + name: SlimeVR-GUI-Windows + path: ./SlimeVR*.zip + + - name: Upload to draft release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + with: + draft: true + generate_release_notes: true + files: | + ./SlimeVR-win64.zip + ./SlimeVR.zip diff --git a/dev.slimevr.SlimeVR.metainfo.xml b/dev.slimevr.SlimeVR.metainfo.xml index 4e6926fe3..e81477131 100644 --- a/dev.slimevr.SlimeVR.metainfo.xml +++ b/dev.slimevr.SlimeVR.metainfo.xml @@ -60,6 +60,8 @@ work. If not, see . + https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.6.2 + https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.6.1 https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.6.0 https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.5.1 https://github.com/SlimeVR/SlimeVR-Server/releases/tag/v0.5.0