name: CI
on:
  push:
    branches:
      - main
  workflow_dispatch:

permissions:
  contents: read
  pages: write
  deployments: write
  id-token: write

jobs:
  docs:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/cache@v3
        with:
          path: |
            **/node_modules
            ./.yarn/cache
          key: ${{ runner.os }}-deps-${{ hashFiles('**/yarn.lock') }}
      - uses: volta-cli/action@v4.1.1
      - run: yarn
      - run: yarn lint
      - run: yarn build
      - run: yarn test
      - run: yarn postbuild
      - run: yarn build
      - uses: actions/upload-pages-artifact@v3
        with:
          path: ./docs-out
      - uses: actions/deploy-pages@v4
