diff --git a/.github/workflows/desktop-build.yml b/.github/workflows/desktop-build.yml new file mode 100644 index 00000000..45a3d686 --- /dev/null +++ b/.github/workflows/desktop-build.yml @@ -0,0 +1,83 @@ +name: "Build: Desktop" +on: + workflow_dispatch: + workflow_call: + push: + branches: [ "main" ] + paths: [ "desktopApp", "frontend" ] + pull_request: + branches: [ "main" ] + paths: [ "desktopApp", "frontend" ] + +jobs: + build-desktop: + permissions: write-all + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: '16' + + - name: Install dependencies + run: | + cd desktopApp + npm install + + - name: Install zip utility + run: | + apt-get update + apt-get install -y zip + + - name: Build for macOS + run: | + cd desktopApp + npm run package-mac + + - name: Build for Windows + run: | + cd desktopApp + npm run package-win + + - name: Build for Linux + run: | + cd desktopApp + npm run package-linux + + - name: Create ZIP for macOS Build + run: | + cd desktopApp/release-builds/ + zip -r /desktopApp-mac.zip ./Robosats-darwin-x64/* + + - name: Create ZIP for Windows Build + run: | + cd desktopApp/release-builds/ + zip -r /desktopApp-win.zip ./Robosats-win32-ia32/* + + - name: Create ZIP for Linux Build + run: | + cd desktopApp/release-builds/ + zip -r /desktopApp-linux.zip ./Robosats-linux-x64/* + + - name: Upload macOS Build Artifact + uses: actions/upload-artifact@v4 + with: + name: desktopApp-mac.zip + path: desktopApp/release-builds/desktopApp-mac.zip + + - name: Upload Windows Build Artifact + uses: actions/upload-artifact@v4 + with: + name: desktopApp-win.zip + path: desktopApp/release-builds/desktopApp-win.zip + + - name: Upload Linux Build Artifact + uses: actions/upload-artifact@v4 + with: + name: desktopApp-linux.zip + path: desktopApp/release-builds/desktopApp-linux.zip +