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@v3
- name: Use Node.js 16.x
uses: actions/setup-node@v3.6.0
with:
node-version: 16.x
- name: Cache Node.js modules
uses: actions/cache@v3
with:
path: ~/.npm # npm cache files are stored in `~/.npm` on Linux/macOS
key: ${{ runner.OS }}-node-16.x-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.OS }}-node-16.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: [16.x]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3.6.0
with:
node-version: ${{ matrix.node-version }}
- name: Cache Node.js modules
uses: actions/cache@v3
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