personal-site/.github/workflows/deploy.yml

52 lines
1.1 KiB
YAML
Raw Normal View History

2024-12-21 19:11:09 -08:00
name: Deploy
on:
push:
branches:
- main
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
2024-12-21 19:53:19 -08:00
- name: Setup Deno
uses: denoland/setup-deno@v2
with:
deno-version: v2.x
2024-12-21 19:11:09 -08:00
- name: Install dependencies
2024-12-21 19:53:19 -08:00
run: deno install
2024-12-21 19:11:09 -08:00
- name: Generate project as a static site
2024-12-21 19:53:19 -08:00
run: deno task generate
2024-12-21 19:11:09 -08:00
- name: Upload production-ready build files
uses: actions/upload-artifact@v4
with:
name: production-files
2024-12-21 19:42:04 -08:00
path: .output/public
2024-12-21 19:11:09 -08:00
deploy:
name: Deploy
needs: build
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'
2024-12-21 19:45:43 -08:00
permissions:
contents: write
2024-12-21 19:11:09 -08:00
steps:
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: production-files
path: ./output/public
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./output/public