chore: Run checks, tests and build as parallel jobs (#2614)
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
---
|
||||
name: 'CI'
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- dev
|
||||
pull_request:
|
||||
schedule:
|
||||
- cron: '17 6 * * *'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
check:
|
||||
name: Check
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7
|
||||
|
||||
- name: Setup Node and Yarn
|
||||
uses: volta-cli/action@v5
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn install --immutable
|
||||
|
||||
- name: Lint
|
||||
run: yarn run lint
|
||||
|
||||
- name: Type-check
|
||||
run: yarn run typecheck
|
||||
|
||||
- name: Check for dead exports
|
||||
run: yarn run prune
|
||||
|
||||
- name: Check formatting
|
||||
run: yarn run format-check
|
||||
|
||||
test:
|
||||
name: Test
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7
|
||||
|
||||
- name: Setup Node and Yarn
|
||||
uses: volta-cli/action@v5
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn install --immutable
|
||||
|
||||
- name: Test & Coverage
|
||||
run: yarn run coverage
|
||||
|
||||
build:
|
||||
name: Build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7
|
||||
|
||||
- name: Setup Node and Yarn
|
||||
uses: volta-cli/action@v5
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn install --immutable
|
||||
|
||||
- name: Build
|
||||
run: yarn run build
|
||||
|
||||
- name: HACS build validation
|
||||
uses: 'hacs/action@22.5.0'
|
||||
with:
|
||||
category: 'plugin'
|
||||
|
||||
# Don't attempt to load into HACS (as it loads the release, not the
|
||||
# build).
|
||||
ignore: 'hacs'
|
||||
|
||||
- name: Upload javascript
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: advanced-camera-card
|
||||
path: dist/*.js
|
||||
|
||||
# When this issue is fixed, it would be useful to upload visualizations:
|
||||
# https://github.com/actions/upload-artifact/issues/14
|
||||
# - name: Upload visualizations
|
||||
# uses: actions/upload-artifact@v7
|
||||
# with:
|
||||
# name: advanced-camera-card
|
||||
# path: visualizations/*.html
|
||||
Reference in New Issue
Block a user