name: Build/release on: push jobs: release: runs-on: ${{ matrix.os }} strategy: matrix: os: [macos-latest, ubuntu-latest, windows-latest] steps: - name: Check out Git repository uses: actions/checkout@v1 - name: Install Node.js, NPM and Yarn uses: actions/setup-node@v1 with: node-version: 20 - name: Install packages run: yarn - name: Build/release Electron app uses: samuelmeuli/action-electron-builder@v1 with: # GitHub token, automatically provided to the action # (No need to define this secret in the repo settings) github_token: ${{ secrets.github_token }} # If the commit is tagged with a version (e.g. "v1.0.0"), # release the app after building release: ${{ startsWith(github.ref, 'refs/tags/v') }} - name: Build electron index.ts file run: yarn electron-build - name: Move artifacts run: | mkdir -p /tmp/artifacts if [ ${{ matrix.os }} == 'windows-latest' ]; then mv dist/*.exe /tmp/artifacts elif [ ${{ matrix.os }} == 'macos-latest' ]; then mv dist/*.dmg /tmp/artifacts else mv dist/*.AppImage /tmp/artifacts fi - name: Upload artifacts uses: actions/upload-artifact@v1 with: name: application path: /tmp/artifacts