name: Check desktop

on:
    pull_request:
        branches: ["main"]

    workflow_dispatch:

permissions:
    contents: write

jobs:
    desktop-check:
        strategy:
            matrix:
                node-version: [latest]
                runtime:
                    - osx-x64

                include:
                    - runtime: osx-x64
                      os: macOS-latest

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

        steps:
            - uses: actions/checkout@v3

            - name: Use Node.js ${{ matrix.node-version }}
              uses: actions/setup-node@v3
              with:
                  node-version: ${{ matrix.node-version }}

            - name: Install modules
              run: cd ./materialious && npm install

            - name: Build package
              run: cd ./materialious && npm run build

            - name: Sync electron package
              run: cd ./materialious && npx cap sync @capacitor-community/electron

            - name: Patch capacitor plugin
              run: cd ./materialious/electron && python patch_capacitor_plugin.py

            - name: Install electron modules
              run: cd ./materialious/electron && npm install

            - name: Build desktop packages
              run: cd ./materialious/electron && npm run electron:make-no-publish
