0
0
mirror of https://github.com/jellyfin/jellyfin-vue.git synced 2025-04-26 05:30:50 +00:00
Files
jellyfin-vue/.github/workflows/__quality_checks.yml

78 lines
1.8 KiB
YAML

name: Quality checks 👌🧪
on:
workflow_call:
inputs:
commit:
required: true
type: string
workflow_dispatch:
jobs:
dependency-review:
name: Vulnerable dependencies 🔎
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4.2.2
with:
ref: ${{ inputs.commit }}
show-progress: false
- name: Scan
uses: actions/dependency-review-action@v4.5.0
with:
base-ref: ${{ github.event.pull_request.base.sha || 'master' }}
head-ref: ${{ github.event.pull_request.head.sha || github.ref }}
quality:
name: Run ${{ matrix.command }} 🕵️‍♂️
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
command:
- lint
- test
- check:types
- analyze:cycles
steps:
- name: Checkout ⬇️
uses: actions/checkout@v4.2.2
with:
ref: ${{ inputs.commit }}
show-progress: false
- name: Setup node environment ⚙️
uses: actions/setup-node@v4.1.0
with:
node-version: lts/*
check-latest: true
cache: 'npm'
- name: Install dependencies 📦
run: npm ci --no-audit
- name: Run ${{ matrix.command }} ⚙️
run: npm run ${{ matrix.command }}
commits_checks:
name: Commit linting 💬✅
runs-on: ubuntu-latest
steps:
- name: Checkout ⬇️
uses: actions/checkout@v4.2.2
with:
ref: ${{ inputs.commit }}
show-progress: false
- name: Check if all commits comply with the specification
uses: webiny/action-conventional-commits@v1.3.0
- name: Check for merge commits
run: |
git log --merges --oneline | grep -q "^" && exit 1 || exit 0