name: Build on: push: branches: [main] pull_request: branches: [main] jobs: build: 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" cache: "npm" - name: Setup Bun uses: oven-sh/setup-bun@v1 with: bun-version: latest - name: Install dependencies run: | npm install bun install - name: Make build script executable run: chmod +x build.sh - name: Run build script run: ./build.sh - name: Upload Linux AppImage uses: actions/upload-artifact@v4 with: name: linux-appimage path: dist/*.AppImage if-no-files-found: warn - name: Upload Linux Flatpak uses: actions/upload-artifact@v4 with: name: linux-flatpak path: dist/*.flatpak if-no-files-found: warn - name: Upload macOS ZIP uses: actions/upload-artifact@v4 with: name: macos-zip path: dist/*-mac.zip if-no-files-found: warn - name: Upload SHA256 hashes uses: actions/upload-artifact@v4 with: name: sha256-hashes path: dist/*.sha256 if-no-files-found: warn - name: Upload SHA512 hashes uses: actions/upload-artifact@v4 with: name: sha512-hashes path: dist/*.sha512 if-no-files-found: warn