feat: integrate alasql and update dashboard stats #16
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: MobileSQL CI | |
| on: | |
| push: | |
| branches: [main, master, develop] | |
| pull_request: | |
| branches: [main, master, develop] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| validate: | |
| name: Lint, Typecheck & Schema Validation | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout Code | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: 'npm' | |
| - name: Install Dependencies | |
| run: npm ci | |
| - name: Prisma Schema Validation | |
| run: npx prisma validate | |
| - name: Prisma Client Generation | |
| run: npx prisma generate | |
| - name: TypeScript Typecheck | |
| run: npm run typecheck | |
| - name: Code Style & Lint | |
| run: npm run lint | |
| - name: Dependency Security Audit | |
| run: npm audit --audit-level=high || true | |
| test: | |
| name: Unit & Store Tests | |
| runs-on: ubuntu-latest | |
| needs: validate | |
| steps: | |
| - name: Checkout Code | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: 'npm' | |
| - name: Install Dependencies | |
| run: npm ci | |
| - name: Prisma Client Generation | |
| run: npx prisma generate | |
| - name: Run Test Suite | |
| run: npm test | |
| build: | |
| name: Production Build & Bundle Check | |
| runs-on: ubuntu-latest | |
| needs: [validate, test] | |
| steps: | |
| - name: Checkout Code | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: 'npm' | |
| - name: Install Dependencies | |
| run: npm ci | |
| - name: Prisma Client Generation | |
| run: npx prisma generate | |
| - name: Build Application Bundle | |
| run: npm run build | |
| env: | |
| NODE_ENV: production | |