update latest codes #13
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy to GitHub Pages | |
| on: | |
| push: | |
| branches: [main] | |
| schedule: | |
| # Daily at 08:00 UTC | |
| - cron: "0 8 * * *" | |
| workflow_dispatch: | |
| permissions: | |
| contents: write | |
| pages: write | |
| id-token: write | |
| concurrency: | |
| group: "pages" | |
| cancel-in-progress: false | |
| jobs: | |
| deploy: | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| runs-on: ubuntu-latest | |
| env: | |
| DB_PATH: ${{ github.workspace }}/backend/.cache/feeds.db | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Install dependencies | |
| run: | | |
| bun install | |
| cd backend && bun install | |
| cd ../frontend && bun install | |
| - name: Prepare database from JSON | |
| run: | | |
| mkdir -p backend/.cache | |
| cd backend | |
| bun run import:static | |
| - name: Sync trending data | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| run: bun run data:update | |
| - name: Commit updated data chunks | |
| if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' | |
| run: | | |
| git config user.name "github-actions[bot]" | |
| git config user.email "41898282+github-actions[bot]@users.noreply.github.com" | |
| git add frontend/public/data/ | |
| if git diff --staged --quiet; then | |
| echo "No data changes to commit" | |
| else | |
| git commit -m "chore: update feed chunks $(date -u +%Y-%m-%d)" | |
| git pull --rebase origin "${GITHUB_REF_NAME}" || true | |
| git push | |
| fi | |
| - name: Build static site | |
| run: cd frontend && VITE_STATIC_MODE=true bun run build | |
| env: | |
| VITE_BASE_PATH: ${{ vars.VITE_BASE_PATH || format('/{0}/', github.event.repository.name) }} | |
| - name: Setup Pages | |
| uses: actions/configure-pages@v5 | |
| - name: Upload artifact | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: ./frontend/dist | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |