| # 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@v5 |
| - name: "Dependency Review" |
| uses: actions/dependency-review-action@v4 |
| 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/applitools/* |
| # 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/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/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, 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@v5 |
| |
| - 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 |