name: Budibase CI

on: 
 # Trigger the workflow on push or pull request,
 # but only for the master branch
 push:
    branches:
      - master
      - develop 
 pull_request:
    branches:
      - master
      - develop 

jobs:
  build:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [14.x]

    steps:
    - uses: actions/checkout@v2

    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v1
      with:
        node-version: ${{ matrix.node-version }}
    - run: yarn
    - run: yarn bootstrap
    - run: yarn lint
    - run: yarn build
    - run: yarn test
      env:
        CI: true
        name: Budibase CI
    - uses: codecov/codecov-action@v1
      with:
        token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos
        files: ./packages/server/coverage/clover.xml
        name: codecov-umbrella
        verbose: true 

    # TODO: parallelise this
    - name: Cypress run
      uses: cypress-io/github-action@v2
      with:
        install: false
        command: yarn test:e2e:ci