name: 3PP License Check

on:
  push:
    branches:
      - master
    paths:
      - 'package-lock.json'
  workflow_dispatch:
  pull_request:
    branches:
      - master
    paths:
      - 'package-lock.json'
  schedule:
    - cron: '0 4 * * *' # Runs every day at 4am: https://docs.github.com/en/actions/reference/events-that-trigger-workflows#scheduled-events-schedule

jobs:
  License-check:
    name: 3PP License Check

    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-22.04]
        node: ['22.x']
        java: ['11']

    runs-on: ${{ matrix.os }}
    timeout-minutes: 60

    steps:
      - name: Checkout
        uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
        with:
          fetch-depth: 2

      - name: Use Node.js ${{ matrix.node }}
        uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3.8.2
        with:
          node-version: ${{ matrix.node }}
          registry-url: 'https://registry.npmjs.org'

      - name: Use Java ${{ matrix.java }}
        uses: actions/setup-java@1df8dbefe2a8cbc99770194893dd902763bee34b # v3.9.0
        with:
          distribution: 'adopt'
          java-version: ${{ matrix.java }}

      - name: Run dash-licenses check
        shell: bash
        run: |
          npm ci
          npm run license:check
