button-card/.github/workflows/ci.yml

57 lines
1.6 KiB
YAML

name: CI
on:
pull_request:
branches:
- '*'
push:
branches:
- '*'
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js 12.x
uses: actions/setup-node@v2.1.4
with:
node-version: 12.x
- name: Cache Node.js modules
uses: actions/cache@v2
with:
path: ~/.npm # npm cache files are stored in `~/.npm` on Linux/macOS
key: ${{ runner.OS }}-node-12.x-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.OS }}-node-12.x
${{ runner.OS }}-
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Lint the code
run: npm run lint --if-present
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [10.x, 12.x]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2.1.4
with:
node-version: ${{ matrix.node-version }}
- name: Cache Node.js modules
uses: actions/cache@v2
with:
path: ~/.npm # npm cache files are stored in `~/.npm` on Linux/macOS
key: ${{ runner.OS }}-node-${{ matrix.node-version }}-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.OS }}-node-${{ matrix.node-version }}
${{ runner.OS }}-
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Build the project
run: npm run build --if-present