chore: separate style checks into multiple jobs triggering on file changes (#4876)

This commit is contained in:
Bowen Liang 2024-06-04 03:03:18 +08:00 committed by GitHub
parent b97181a793
commit fb6843815c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -18,54 +18,89 @@ jobs:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Check changed files
id: changed-files
uses: tj-actions/changed-files@v44
with:
files: api/**
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v5 uses: actions/setup-python@v5
if: steps.changed-files.outputs.any_changed == 'true'
with: with:
python-version: '3.10' python-version: '3.10'
- name: Python dependencies - name: Python dependencies
if: steps.changed-files.outputs.any_changed == 'true'
run: pip install ruff dotenv-linter run: pip install ruff dotenv-linter
- name: Ruff check - name: Ruff check
if: steps.changed-files.outputs.any_changed == 'true'
run: ruff check ./api run: ruff check ./api
- name: Dotenv check - name: Dotenv check
if: steps.changed-files.outputs.any_changed == 'true'
run: dotenv-linter ./api/.env.example ./web/.env.example run: dotenv-linter ./api/.env.example ./web/.env.example
- name: Lint hints - name: Lint hints
if: failure() if: failure()
run: echo "Please run 'dev/reformat' to fix the fixable linting errors." run: echo "Please run 'dev/reformat' to fix the fixable linting errors."
test: web-style:
name: ESLint and SuperLinter name: Web Style
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: python-style defaults:
run:
working-directory: ./web
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Check changed files
id: changed-files
uses: tj-actions/changed-files@v44
with: with:
fetch-depth: 0 files: web/**
- name: Setup NodeJS - name: Setup NodeJS
uses: actions/setup-node@v4 uses: actions/setup-node@v4
if: steps.changed-files.outputs.any_changed == 'true'
with: with:
node-version: 20 node-version: 20
cache: yarn cache: yarn
cache-dependency-path: ./web/package.json cache-dependency-path: ./web/package.json
- name: Web dependencies - name: Web dependencies
run: | if: steps.changed-files.outputs.any_changed == 'true'
cd ./web run: yarn install --frozen-lockfile
yarn install --frozen-lockfile
- name: Web style check - name: Web style check
run: | if: steps.changed-files.outputs.any_changed == 'true'
cd ./web run: yarn run lint
yarn run lint
superlinter:
name: SuperLinter
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Check changed files
id: changed-files
uses: tj-actions/changed-files@v44
with:
files: |
**.sh
**.yaml
**.yml
Dockerfile
- name: Super-linter - name: Super-linter
uses: super-linter/super-linter/slim@v6 uses: super-linter/super-linter/slim@v6
if: steps.changed-files.outputs.any_changed == 'true'
env: env:
BASH_SEVERITY: warning BASH_SEVERITY: warning
DEFAULT_BRANCH: main DEFAULT_BRANCH: main