# If you’d like to deploy this to GitHub pages, rename this
# file to `gh-pages.yml` and read the mini-tutorial on
# https://www.11ty.dev/docs/deployment/#deploy-an-eleventy-project-to-github-pages
name: Deploy to GitHub Pages

on:
  push:
    branches:
      - main
  pull_request:

jobs:
  deploy:
    runs-on: ubuntu-22.04
    permissions:
      contents: write
    concurrency:
      group: ${{ github.workflow }}-${{ github.ref }}
    steps:
      - uses: actions/checkout@v3

      - name: Setup Node
        uses: actions/setup-node@v3
        with:
          node-version: '18'

      - name: Cache npm
        uses: actions/cache@v3
        with:
          path: ~/.npm
          key: ${{ runner.os }}-node-${{ hashFiles('**/package.json') }}

      - name: Cache Eleventy .cache
        uses: actions/cache@v3
        with:
          path: ./.cache
          key: ${{ runner.os }}-eleventy-fetch-cache


      - run: npm install
      - run: npm run build-ghpages

      - name: Deploy
        uses: peaceiris/actions-gh-pages@v3
        if: github.ref == 'refs/heads/main'
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          publish_dir: ./_site
