# 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: push: branches: - "master" - "[0-9].[0-9]*" pull_request: types: [synchronize, opened, reopened, ready_for_review] # cancel previous workflow jobs for PRs concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }} cancel-in-progress: true permissions: contents: read jobs: dependency-review: if: github.event_name == 'pull_request' runs-on: ubuntu-24.04 steps: - name: "Checkout Repository" uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - name: "Dependency Review" uses: actions/dependency-review-action@2031cfc080254a8a887f58cffee85186f0e49e48 # v4.9.0 continue-on-error: true 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 # pkg:npm/store2@2.14.2 # 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/node-forge@1.3.1 # selecting BSD-3-Clause licensing terms for node-forge to ensure compatibility with Apache allow-dependencies-licenses: pkg:npm/store2@2.14.2, pkg:npm/node-forge@1.3.1, pkg:npm/rgbcolor, pkg:npm/jszip@3.10.1 python-dependency-liccheck: # NOTE: Configuration for liccheck lives in our pyproject.yml. # You cannot use a liccheck.ini file in this workflow. runs-on: ubuntu-22.04 steps: - name: "Checkout Repository" uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - name: Setup Python uses: ./.github/actions/setup-backend/ with: requirements-type: base - name: "Set up liccheck" run: | uv pip install --system liccheck - name: "Run liccheck" run: | # run the checks liccheck -R output.txt # Print the report cat output.txt