VandyHacks/vaken

View on GitHub
.github/workflows/ci.yml

Summary

Maintainability
Test Coverage
name: CI
on:
  # Trigger the workflow on push to the main branch of pull request
  push:
    branches:
      - main
  pull_request:
jobs:
  build:
    name: Build Vaken
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Read .nvmrc
        run: echo "##[set-output name=NVMRC;]$(cat .nvmrc)"
        id: nvm
      - uses: actions/setup-node@v2
        with:
          node-version: "${{ steps.nvm.outputs.NVMRC }}"
      - run: npm ci
        env: 
          MONGOMS_DISABLE_POSTINSTALL: 1
      - run: npm run generate
      - run: npm run build
  lint:
    name: Style check
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Read .nvmrc
        run: echo "##[set-output name=NVMRC;]$(cat .nvmrc)"
        id: nvm
      - uses: actions/setup-node@v2
        with:
          node-version: "${{ steps.nvm.outputs.NVMRC }}"
      - run: npm ci
        env: 
          MONGOMS_DISABLE_POSTINSTALL: 1
      - run: npm run generate
      - run: npm run check:lint:ci
  test:
    name: Test code
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Read .nvmrc
        run: echo "##[set-output name=NVMRC;]$(cat .nvmrc)"
        id: nvm
      - uses: actions/setup-node@v2
        with:
          node-version: "${{ steps.nvm.outputs.NVMRC }}"
      - run: npm ci
      - run: npm run generate
      - name: Run Jest 
        run: npm run check:test:ci
        env:
          NODE_OPTIONS: --max_old_space_size=3000  
      - name: Publish code coverage
        uses: paambaati/codeclimate-action@v2.7.5
        env:
          CC_TEST_REPORTER_ID: ${{secrets.CC_TEST_REPORTER_ID}}
  happo:
    name: Happo Screenshot Diffs
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Read .nvmrc
        run: echo "##[set-output name=NVMRC;]$(cat .nvmrc)"
        id: nvm
      - uses: actions/setup-node@v2
        with:
          node-version: "${{ steps.nvm.outputs.NVMRC }}"
      - run: npm ci
      - run: npm run happo-ci-github-actions
        env:
          HAPPO_API_KEY: ${{ secrets.HAPPO_API_KEY }}
          HAPPO_API_SECRET: ${{ secrets.HAPPO_API_SECRET }}