name: b3bp CI
on:
  push:
    branches:
      - master
  pull_request:
    types:
      - opened
      - synchronize
jobs:
  ci:
    runs-on: ubuntu-latest
    steps  : 
      - uses: actions/checkout@v2
        with:
          fetch-depth: 1
      - uses: actions/setup-node@master
        with:
          node-version: 10.x 
      - name: Get yarn cache directory path
        id  : yarn-cache-dir-path
        run : echo "##[set-output name=dir;]$(yarn cache dir)"
      - uses: actions/cache@v2
        with:
          path        : ${{ steps.yarn-cache-dir-path.outputs.dir }}
          key         : ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
          restore-keys: |
            ${{ runner.os }}-yarn-
      - uses: sergioramos/yarn-actions/install@master
        with:
          frozen-lockfile: true
      - name: Test
        run : |
          yarn test
      - name: Website Build
        if  : github.ref == 'refs/heads/master'
        run : |
          yarn inject
          yarn build:production
      - name: Website Deploy 🚀
        if  : github.ref == 'refs/heads/master'
        uses: JamesIves/github-pages-deploy-action@3.7.1
        with: 
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          BRANCH      : gh-pages # The branch the action should deploy to.
          FOLDER      : website/_site # The folder the action should deploy.
          CLEAN       : true # Automatically remove deleted files from the deploy branch