name: Build and deploy on: push: branches: [main] workflow_dispatch: concurrency: group: deploy-${{ github.ref }} cancel-in-progress: true permissions: contents: read jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Bun uses: oven-sh/setup-bun@v2 with: bun-version: "1.3.14" - name: Set up JDK 25 uses: actions/setup-java@v4 with: distribution: "temurin" java-version: "25" - name: Install JS deps run: bun install - name: Package all plugins run: ./gradlew packageAllPlugins - name: Generate repository index run: bun run generate-index -- --dist build/dist --base-url https://next.jarviscli.dev --out build/dist/index.json - name: Deploy to Cloudflare Workers env: CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} run: bunx wrangler deploy - name: Verify deployed index and artifact integrity run: bun .github/scripts/verify-deploy.mjs