77 lines
1.8 KiB
YAML
77 lines
1.8 KiB
YAML
name: Node CI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- '**'
|
|
tags:
|
|
- 'v[0-9]+.[0-9]+.[0-9]+*'
|
|
pull_request:
|
|
|
|
jobs:
|
|
lint:
|
|
name: Lint
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 15
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Use Node.js 22.x
|
|
# This should match the version of Node.js you have defined in the manifest.json runtime field
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 22.x
|
|
- name: Prepare Environment
|
|
run: |
|
|
corepack enable
|
|
- name: Prepare Environment (For template repository)
|
|
# Only run this step if the repository is a template repository
|
|
# If you are using this in a module, you can remove this step
|
|
if: ${{ contains(github.repository, 'companion-module-template-') }}
|
|
run: |
|
|
# Perform an install to generate the lockfile
|
|
yarn install
|
|
env:
|
|
CI: false
|
|
- name: Prepare module
|
|
run: |
|
|
yarn install
|
|
env:
|
|
CI: true
|
|
- name: Build and check types
|
|
run: |
|
|
yarn build
|
|
env:
|
|
CI: true
|
|
- name: Run lint
|
|
run: |
|
|
yarn lint
|
|
env:
|
|
CI: true
|
|
|
|
# Uncomment this to enable running unit tests
|
|
# test:
|
|
# name: Test
|
|
# runs-on: ubuntu-latest
|
|
# timeout-minutes: 15
|
|
|
|
# steps:
|
|
# - uses: actions/checkout@v4
|
|
# - name: Use Node.js 22.x
|
|
# uses: actions/setup-node@v4
|
|
# with:
|
|
# node-version: 22.x
|
|
# - name: Prepare Environment
|
|
# run: |
|
|
# corepack enable
|
|
# yarn install
|
|
# env:
|
|
# CI: true
|
|
# - name: Run tests
|
|
# run: |
|
|
# yarn test
|
|
# env:
|
|
# CI: true
|
|
# - name: Send coverage
|
|
# uses: codecov/codecov-action@v5
|