name: Deploy Dashboard to GitHub Pages on: schedule: - cron: '0 0 * * *' # Runs daily at midnight UTC workflow_dispatch: # Allow manual triggering permissions: contents: read pages: write id-token: write # Only allow one concurrent deployment at a time concurrency: group: pages cancel-in-progress: false jobs: build: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup Bun uses: oven-sh/setup-bun@v2 - name: Install dependencies working-directory: dashboard run: bun install - name: Build dashboard working-directory: dashboard run: bun run build - name: Setup Pages uses: actions/configure-pages@v5 - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: path: dashboard/dist deploy: environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest needs: build steps: - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4