name: Bundle Website
on: push

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2

      - name: Setup Node.js
        uses: actions/setup-node@v1
        with:
          node-version: 12.x

      - name: Install dependencies
        run: npm install

      - name: Compile assets
        run: make

      - name: Build
        uses: TonySpegel/zola-build-action@v1
        env:
          CONFIG_FILE: "config.toml"

      - name: Disable Jekyll
        run: sudo touch ./public/.nojekyll

      - name: Publish site as artifact
        uses: actions/upload-artifact@v2
        with:
          name: website
          path: ./public

  deploy:
    runs-on: ubuntu-latest
    needs: build
    if: github.ref == 'refs/heads/master'
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      
      - name: Download website bundle
        uses: actions/download-artifact@v2
        with:
          name: website
          path: ./public

      - name: Deploy to GitHub Pages
        if: success()
        uses: crazy-max/ghaction-github-pages@v2
        with:
          target_branch: gh-pages
          build_dir: public
          fqdn: ewpratten.com
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}