name: CVE Scanning

on:
  workflow_dispatch:
  schedule:
    - cron: '0 8,18 * * 1-5'
  push:
    paths:
      - '**/package.json'
      - '**/package-lock.json'
      - '**/Dockerfile'
      - '.github/workflows/*-ignore-list.xml'
      - '.github/workflows/security.yml'

jobs:
  node-modules-scan:
    name: sdk-node-scan
    runs-on: ubuntu-latest
    continue-on-error: false
    steps:
      - name: Checkout
        uses: actions/checkout@v4.2.2
      - name: Set up Node
        uses: actions/setup-node@v4.2.0
        with:
          node-version: 20
      - name: Build project with NPM
        run: npm install --omit=dev
        working-directory: .
      - name: Depcheck
        uses: dependency-check/Dependency-Check_Action@main
        id: Depcheck
        with:
          project: '.'
          path: '.'
          format: 'HTML'
          out: 'sdk-reports'
          args: >
            --suppression .github/node-cve-ignore-list.xml
            --nodeAuditSkipDevDependencies
            --nodePackageSkipDevDependencies
            --failOnCVSS 5
            --enableRetired
      - name: Upload Test results
        if: ${{ always() }}
        uses: actions/upload-artifact@v4.6.0
        with:
          name: Depcheck report
          path: ${{ github.workspace }}/sdk-reports
