name: Release on: create: tags: - v* workflow_dispatch: jobs: package: runs-on: ${{ matrix.os }} strategy: matrix: os: [macos-latest, ubuntu-latest, windows-latest] steps: - name: Check out Git repository uses: actions/checkout@v2 - name: Install Node.js, NPM and Yarn uses: actions/setup-node@v2 with: node-version: 16 - name: Install Snapcraft uses: samuelmeuli/action-snapcraft@v1 # Only install Snapcraft on Ubuntu if: startsWith(matrix.os, 'ubuntu') with: # Log in to Snap Store snapcraft_token: ${{ secrets.snapcraft_token }} - name: Package Linux if: startsWith(matrix.os, 'ubuntu') run: | npm ci npm run build npx electron-builder --linux snap --armv7l --publish always npx electron-builder --linux snap --x64 --publish always npx electron-builder --linux deb rpm --x64 --publish always npx electron-builder --linux deb --arm64 --publish always npx electron-builder --linux deb --armv7l --publish always npx electron-builder --linux AppImage --x64 --publish always npx electron-builder --linux AppImage --arm64 --publish always npx electron-builder --linux AppImage --armv7l --publish always env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Release Electron app - MacOS uses: samuelmeuli/action-electron-builder@v1 if: startsWith(matrix.os, 'macos') 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: Release Electron app - Windows uses: samuelmeuli/action-electron-builder@v1 if: startsWith(matrix.os, 'windows') 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') }}