.github/workflows/ci.yml
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 }}