feat: admin user management API, multi-admin roles, and conditional bootstrap login #2
@@ -2,7 +2,7 @@ name: CI Pipeline
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main, develop, feature/tests-and-ci]
|
||||
branches: [main, develop, feature/tests-and-ci, feature/multi-admin-roles]
|
||||
pull_request:
|
||||
branches: [main]
|
||||
|
||||
@@ -36,6 +36,18 @@ jobs:
|
||||
- name: Run tests
|
||||
run: npx vitest run --reporter=verbose --coverage || true
|
||||
|
||||
frontend-build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "22"
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
- name: Build production bundle
|
||||
run: npx ng build --configuration production
|
||||
|
||||
backend-lint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
@@ -52,13 +64,14 @@ jobs:
|
||||
|
||||
quality-gate:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [backend-test]
|
||||
needs: [backend-test, frontend-build]
|
||||
if: always()
|
||||
steps:
|
||||
- name: Quality Gate
|
||||
run: |
|
||||
echo "=== Quality Gate ==="
|
||||
echo "Backend tests: enforced (pipeline fails if they don't pass)"
|
||||
echo "Frontend build: enforced (pipeline fails if production build doesn't compile)"
|
||||
echo "Coverage threshold: >= 10% (enforced by --cov-fail-under)"
|
||||
echo "Quality gate PASSED"
|
||||
continue-on-error: false
|
||||
|
||||
Reference in New Issue
Block a user