Skip to content

Build & Deploy

Build & Deploy #300

# Build and deploy pages to the gh-pages branch
name: Build & Deploy
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
schedule:
- cron: '15 8-20/4 * * 1-5'
jobs:
build:
runs-on: ubuntu-latest
env:
PUBLIC_URL: ${{ vars.PUBLIC_URL }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup bun
uses: oven-sh/setup-bun@v1
with:
bun-version: 'latest'
- name: Build static site
run: |
bun install
bun run build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload build folder as pages artifact
uses: actions/upload-pages-artifact@v3
if: github.ref == 'refs/heads/main'
with:
path: dist${{ vars.PUBLIC_URL }}
deploy:
if: github.ref == 'refs/heads/main'
needs: build
permissions:
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4