name: Build

env:
  CI: true

on:
  push:
    branches:
      - master
  pull_request:
    branches: '*'

jobs:
  api:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Install node
        uses: actions/setup-node@v1
        with:
          node-version: 16
      - name: Cache
        uses: actions/cache@v2
        id: cache
        with:
          path: '**/node_modules'
          key: yarn-v1-${{ hashFiles('**/yarn.lock') }}
      - name: Install
        run: yarn --immutable
        if: steps.cache.outputs.cache-hit != 'true'
      - name: Build API
        run: cd packages/loot-core && yarn build:api

  web:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Install node
        uses: actions/setup-node@v1
        with:
          node-version: 16
      - name: Cache
        uses: actions/cache@v2
        id: cache
        with:
          path: '**/node_modules'
          key: yarn-v1-${{ hashFiles('**/yarn.lock') }}
      - name: Install
        run: yarn --immutable
        if: steps.cache.outputs.cache-hit != 'true'
      - name: Build Web
        run: ./bin/package-browser
