# This workflow will do a clean install of node dependencies, run JS and Typescript tests.
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions

name: CI

on: [push, pull_request]

jobs:
  test:
    name: Testing
    runs-on: ubuntu-latest

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

    steps:
    - uses: actions/checkout@v2
    - name: Cache .dts
      id: cache-dts
      uses: actions/cache@v2
      with:
        path: .dts
        key: ${{ runner.os }}-dts
    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v1
      with:
        node-version: ${{ matrix.node-version }}
    - run: yarn install --immutable
    - run: yarn workspace react-native-render-html test:ts
      name: Typescript Tests
    - run: yarn workspace react-native-render-html test:jest --coverage
      name: Jest Tests
    - run: yarn workspace react-native-render-html test:lint
      name: Linting Tests
    - run: yarn workspace react-native-render-html build
      name: Build
    - run: yarn build:tools
      name: Build Tooling Libraries
    - uses: codecov/codecov-action@v2
      with:
        file: ./packages/render-html/coverage/clover.xml # optional
        fail_ci_if_error: true # optional (default = false)