name: Node CI

on: [push]

jobs:
  build:

    runs-on: ubuntu-latest

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

    steps:
    - uses: actions/checkout@v1
    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v1
      with:
        node-version: ${{ matrix.node-version }}
    - name: Cache ionic site
      id: ionic-site
      uses: actions/cache@v2
      with:
        path: ~/ionic-site/
        key: ionic-site-${{ hashFiles('**/package-lock.json') }}
    - name: Setup git
      run: bash ./scripts/git/config.sh
    - name: Prepare ionic-site repo
      if: github.ref == 'refs/heads/master'
      run: bash ./scripts/docs/prepare.sh
    - name: Install dependencies
      run: npm ci
    - name: Lint
      run: npm run lint
    - name: Build
      run: npm run build
    - name: Test
      run: npm run test
    - name: Readmes
      run: npm run readmes
    - name: Deploy doc
      if: github.ref == 'refs/heads/master'
      run: bash ./scripts/docs/update_docs.sh
      env:
        GITHUB_PROJECT_REPONAME: ${{ github.repository }}
        GITHUB_SHA1: ${{ github.sha }}