diff --git a/.forgejo/workflows/build.yml b/.forgejo/workflows/build.yml new file mode 100644 index 0000000..8fb1ab6 --- /dev/null +++ b/.forgejo/workflows/build.yml @@ -0,0 +1,71 @@ +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