mirror of
https://github.com/jellyfin/jellyfin-vue.git
synced 2025-04-26 05:30:50 +00:00
78 lines
1.8 KiB
YAML
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
|
|
|