.github/workflows/ci.yml
name: CI
on:
pull_request:
types:
- synchronize
- opened
- edited
- ready_for_review
- reopened
- unlocked
branches:
- master
push:
branches-ignore:
- master
- gh-pages
tags-ignore:
- '*'
create: {}
jobs:
secrets:
name: Secrets
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2.0.0
- name: Install dependencies
run: npm ci
- name: Scan for secrets
uses: evanextreme/detect-secrets-action@1.0.0
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2.0.0
- name: Install dependencies
run: npm ci
- name: Lint the codebase
run: npm run lint
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2.0.0
- name: Install dependencies
run: npm ci
- name: Run tests
run: npm run test:ci
- name: Upload coverage
uses: actions/upload-artifact@v1
with:
name: test_coverage
path: coverage
build_code:
name: Build code
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2.0.0
- name: Install dependencies
run: npm ci
- name: Build code
run: npm run build
- name: Upload the dist folder
uses: actions/upload-artifact@v1
with:
name: dist
path: dist
build_storybook:
name: Storybook Build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2.0.0
- name: Install dependencies
run: npm ci
- name: Build storybook
run: npm run storybook:build
- name: Upload the storybook
uses: actions/upload-artifact@v1
with:
name: storybook
path: docs