name: CI Quality & Security Pipeline on: push: branches: [ main ] pull_request: branches: [ main ] jobs: security-scan: name: Gitleaks Secret Scan runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 with: fetch-depth: 0 - name: Run Gitleaks uses: gitleaks/gitleaks-action@v2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} test-and-lint: name: Lint & Automated Tests runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup Node.js 22 uses: actions/setup-node@v4 with: node-version: 22 cache: 'npm' - name: Install dependencies run: npm ci - name: Run Code Linter run: npm run lint - name: Run Automated Test Suites run: npm test