Skip to content

🛡️ Sentinel: [CRITICAL] Fix hardcoded admin email vulnerability #439

🛡️ Sentinel: [CRITICAL] Fix hardcoded admin email vulnerability

🛡️ Sentinel: [CRITICAL] Fix hardcoded admin email vulnerability #439

Workflow file for this run

name: CI
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Run ESLint
run: npm run lint
frontend-test:
name: Frontend Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Run frontend tests
run: npm run test:frontend
continue-on-error: false
- name: Build frontend
run: npm run build
backend-test:
name: Backend Tests
runs-on: ubuntu-latest
services:
postgres:
image: pgvector/pgvector:pg15
env:
POSTGRES_USER: liquidai
POSTGRES_PASSWORD: testpassword
POSTGRES_DB: liquidai_test
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
redis:
image: redis:7-alpine
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 6379:6379
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install backend dependencies
working-directory: ./backend
run: npm ci
- name: Run security audit
working-directory: ./backend
run: npm audit --audit-level=high
continue-on-error: false
- name: Run backend tests
working-directory: ./backend
run: npm test
continue-on-error: false
env:
DATABASE_URL: postgresql://liquidai:testpassword@localhost:5432/liquidai_test
REDIS_URL: redis://localhost:6379
JWT_SECRET: test_secret_key_for_ci_only_32_chars_minimum
NODE_ENV: test
GOOGLE_AI_API_KEY: test_api_key_for_ci
docker-build:
name: Docker Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build frontend image
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
push: false
tags: liquid-ai-frontend:test
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Build backend image
uses: docker/build-push-action@v5
with:
context: ./backend
file: ./backend/Dockerfile
push: false
tags: liquid-ai-backend:test
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Test docker-compose
run: |
docker-compose -f docker-compose.yml config
security:
name: Security Scan
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@master
with:
scan-type: 'fs'
scan-ref: '.'
format: 'sarif'
output: 'trivy-results.sarif'
- name: Upload Trivy results to GitHub Security
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: 'trivy-results.sarif'
dependency-review:
name: Dependency Review
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- uses: actions/checkout@v4
- name: Dependency Review
uses: actions/dependency-review-action@v4