add code-quality CI workflow

This commit is contained in:
Paul Miller
2023-07-28 11:39:28 -05:00
parent 3868b3f0a0
commit ba40c9ceff
3 changed files with 63 additions and 3 deletions

55
.github/workflows/code-quality.yml vendored Normal file
View File

@@ -0,0 +1,55 @@
name: Code Quality Check
on:
push:
branches:
- master
- prod
pull_request:
branches:
- '*'
jobs:
code_quality:
runs-on: ubuntu-latest
steps:
- name: Checkout source
uses: actions/checkout@v3
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: 18.x
- uses: pnpm/action-setup@v2
name: Install pnpm
id: pnpm-install
with:
run_install: false
- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
- uses: actions/cache@v3
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Step Zero - Install Dependencies
run: pnpm install
- name: Step One - Check Code Formatting
run: pnpm run check-format
- name: Step Two - Check Lint Errors
run: pnpm run eslint
- name: Step Three - Check Type Check Errors
run: pnpm run check-types

View File

@@ -1,9 +1,13 @@
name: Playwright Tests name: Playwright Tests
on: on:
push: push:
branches: [ main, master ] branches:
- master
- prod
pull_request: pull_request:
branches: [ main, master ] branches:
- '*'
jobs: jobs:
test: test:
timeout-minutes: 60 timeout-minutes: 60

View File

@@ -11,7 +11,8 @@
"check-types": "tsc --noemit", "check-types": "tsc --noemit",
"eslint": "eslint src", "eslint": "eslint src",
"lint": "pnpm run eslint && pnpm run check-types", "lint": "pnpm run eslint && pnpm run check-types",
"format": "npx prettier --write \"src/**/*.{ts,tsx,js,jsx,json,css,scss,md}\"" "format": "npx prettier --write \"src/**/*.{ts,tsx,js,jsx,json,css,scss,md}\"",
"check-format": "npx prettier --check \"src/**/*.{ts,tsx,js,jsx,json,css,scss,md}\""
}, },
"type": "module", "type": "module",
"devDependencies": { "devDependencies": {