diff --git a/.github/workflows/security.yml b/.github/workflows/security.yml new file mode 100644 index 0000000..1b17c0c --- /dev/null +++ b/.github/workflows/security.yml @@ -0,0 +1,35 @@ +name: Security and Build Checks + +on: + pull_request: + branches: [ "master", "dev" ] + push: + branches: [ "master", "dev" ] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + validate: + runs-on: ubuntu-latest + permissions: + contents: read + steps: + - name: Checkout + 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: Type check + run: npm run compile -- --noEmit + + - name: Audit dependencies (moderate severity+) + run: npm audit --audit-level=moderate