airbnb/superset

View on GitHub
.github/workflows/dependency-review.yml

Summary

Maintainability
Test Coverage
# Dependency Review Action
#
# This Action will scan dependency manifest files that change as part of a Pull Request, surfacing known-vulnerable versions of the packages declared or updated in the PR. Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable packages will be blocked from merging.
#
# Source repository: https://github.com/actions/dependency-review-action
# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement
name: "Dependency Review"
on: [pull_request]

permissions:
  contents: read

jobs:
  dependency-review:
    runs-on: ubuntu-latest
    steps:
      - name: "Checkout Repository"
        uses: actions/checkout@v4
      - name: "Dependency Review"
        uses: actions/dependency-review-action@v4
        with:
          fail-on-severity: critical
          # compatible/incompatible licenses addressed here: https://www.apache.org/legal/resolved.html
          # find SPDX identifiers here: https://spdx.org/licenses/
          deny-licenses: MS-LPL, BUSL-1.1, QPL-1.0, Sleepycat, SSPL-1.0, CPOL-1.02, AGPL-3.0, GPL-1.0+, BSD-4-Clause-UC, NPL-1.0, NPL-1.1, JSON
          allow-dependencies-licenses:
            # adding an exception for an ambigious license on store2, which has been resolved in
            # the latest version. It's MIT: https://github.com/nbubna/store/blob/master/LICENSE-MIT
            - 'pkg:npm/store2@2.14.2'
            # adding exception for all applitools modules (eyes-cypress and its dependencies),
            # which has an explicit OSS license approved by ASF
            # license: https://applitools.com/legal/open-source-terms-of-use/
            - 'pkg:npm/applitools/core'
            - 'pkg:npm/applitools/core-base'
            - 'pkg:npm/applitools/css-tree'
            - 'pkg:npm/applitools/ec-client'
            - 'pkg:npm/applitools/eg-socks5-proxy-server'
            - 'pkg:npm/applitools/eyes'
            - 'pkg:npm/applitools/eyes-cypress'
            - 'pkg:npm/applitools/nml-client'
            - 'pkg:npm/applitools/tunnel-client'
            - 'pkg:npm/applitools/utils'
            # Selecting BSD-3-Clause licensing terms for node-forge to ensure compatibility with Apache
            - 'pkg:npm/node-forge@1.3.1'