name: Publish (PR)

on:
    pull_request:
        branches:
            - development

jobs:
    publish:
        runs-on: ${{ matrix.os }}

        strategy:
            matrix:
                os: [macos-latest]

        steps:
            - name: Checkout git repo
              uses: actions/checkout@v3

            - name: Install Node and NPM
              uses: actions/setup-node@v3
              with:
                  node-version: 18
                  cache: npm

            - name: Install dependencies
              run: |
                  npm install --legacy-peer-deps

            - name: Build releases
              uses: nick-invision/retry@v2.8.2
              with:
                  timeout_minutes: 30
                  max_attempts: 3
                  retry_on: error
                  command: |
                      npm run postinstall
                      npm run build
                      npm run package:pr
                  on_retry_command: npm cache clean --force

            - uses: actions/upload-artifact@v3
              with:
                  name: windows-binaries
                  path: |
                      release/build/*.exe

            - uses: actions/upload-artifact@v3
              with:
                  name: linux-binaries
                  path: |
                      release/build/*.AppImage
                      release/build/*.deb
                      release/build/*.rpm

            - uses: actions/upload-artifact@v3
              with:
                  name: macos-binaries
                  path: |
                      release/build/*.dmg
