admin/.gitea/workflows/frontend-quality.yml
alisaza a307400f83 ci: migrate Actions from GitHub to Gitea registry [skip ci]
Move workflows under .gitea/workflows and publish images to
git.ghabilee.ir instead of ghcr.io so deploy runs on self-hosted Gitea.
2026-09-13 14:49:37 +03:30

69 lines
1.7 KiB
YAML

name: Admin quality
on:
workflow_call:
pull_request:
concurrency:
group: admin-quality-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
pull-requests: read
jobs:
dependency-scan:
name: Dependency vulnerability scan
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: google/osv-scanner-action/osv-scanner-action@v2.3.8
with:
scan-args: --lockfile=pnpm-lock.yaml
secret-scan:
name: Secret scan
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: gitleaks/gitleaks-action@v3
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
verify:
name: Build, test, and quality checks
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 10.28.2
- uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm
cache-dependency-path: pnpm-lock.yaml
- run: pnpm install --frozen-lockfile
- name: Generate API client from committed OpenAPI
run: pnpm exec orval --config orval.config.ts
- run: pnpm typecheck
- run: pnpm lint
- name: Production build and bundle budget
run: pnpm exec next build && pnpm bundle:check
env:
NEXT_PUBLIC_API_URL: http://127.0.0.1:3000
- name: Verify generated API client
run: |
set -euo pipefail
pnpm exec orval --config orval.config.ts
git diff --exit-code -- api/generated
- run: pnpm test
- run: pnpm architecture:check
- run: pnpm unused:check