name: Build Linux on: push: branches: [main] tags: - 'v*' pull_request: branches: [main] workflow_dispatch: jobs: build-linux: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Install dependencies run: npm install - name: Build Linux packages run: npm run dist:linux - name: Upload AppImage uses: actions/upload-artifact@v4 with: name: linux-appimage path: release/*.AppImage - name: Upload DEB uses: actions/upload-artifact@v4 with: name: linux-deb path: release/*.deb - name: Upload RPM uses: actions/upload-artifact@v4 with: name: linux-rpm path: release/*.rpm - name: Upload Snap uses: actions/upload-artifact@v4 with: name: linux-snap path: release/*.snap - name: Release uses: softprops/action-gh-release@v1 if: startsWith(github.ref, 'refs/tags/') with: files: | release/*.AppImage release/*.deb release/*.rpm release/*.snap env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}