---
# SPDX-License-Identifier: Apache-2.0
# SPDX-FileCopyrightText: 2026 The Linux Foundation
name: Gerrit Verify - License Check

# yamllint disable-line rule:truthy
on:
  workflow_dispatch:
    inputs:
      # Gerrit-to-Github defaults
      GERRIT_BRANCH:
        description: "Branch that change is against"
        required: true
        type: string
      GERRIT_CHANGE_ID:
        description: "The ID for the change"
        required: true
        type: string
      GERRIT_CHANGE_NUMBER:
        description: "The Gerrit number"
        required: true
        type: string
      GERRIT_CHANGE_URL:
        description: "URL to the change"
        required: true
        type: string
      GERRIT_EVENT_TYPE:
        description: "Type of Gerrit event"
        required: true
        type: string
      GERRIT_PATCHSET_NUMBER:
        description: "The patch number for the change"
        required: true
        type: string
      GERRIT_PATCHSET_REVISION:
        description: "The revision sha"
        required: true
        type: string
      GERRIT_PROJECT:
        description: "Project in Gerrit"
        required: true
        type: string
      GERRIT_REFSPEC:
        description: "Gerrit refspec of change"
        required: true
        type: string
      comment-only:
        description: "Make this workflow advisory only, default false"
        required: false
        type: string
        default: "false"

concurrency:
  # yamllint disable-line rule:line-length
  group: verify-onos-component-${{ github.workflow }}-${{ github.event.inputs.GERRIT_CHANGE_ID || github.run_id }}
  cancel-in-progress: true

jobs:
  prepare:
    runs-on: ubuntu-latest
    steps:
      - name: Clear votes
        # yamllint disable-line rule:line-length
        uses: lfreleng-actions/gerrit-review-action@537251ec667665b386f70b330b05446e3fc29087 # v0.9
        with:
          host: ${{ vars.GERRIT_SERVER }}
          username: ${{ vars.GERRIT_SSH_USER }}
          key: ${{ secrets.GERRIT_SSH_PRIVKEY }}
          known_hosts: ${{ vars.GERRIT_KNOWN_HOSTS }}
          gerrit-change-number: ${{ inputs.GERRIT_CHANGE_NUMBER }}
          gerrit-patchset-number: ${{ inputs.GERRIT_PATCHSET_NUMBER }}
          vote-type: clear
          comment-only: ${{ inputs.comment-only }}
      - name: Allow replication
        run: sleep 10s

  verify-onos-component:
    needs: prepare
    runs-on: ubuntu-latest
    steps:
      # yamllint disable-line rule:line-length
      - uses: lfreleng-actions/checkout-gerrit-change-action@54d751e8bd167bc91f7d665dabe33fae87aaaa63 # v0.9
        with:
          gerrit-refspec: ${{ inputs.GERRIT_REFSPEC }}
          gerrit-project: ${{ inputs.GERRIT_PROJECT }}
          gerrit-url: ${{ vars.GERRIT_URL }}
          delay: "0s"
      - name: Check License Headers
        uses: ./.github/actions/license-check-action
      - name: Run Maven
        # yamllint disable-line rule:line-length
        uses: lfreleng-actions/maven-build-action@5be56aed8bed4f0bf9d699f2817eaef37c94ac02 # v0.2.0
        with:
          jdk-version: "11"
          mvn-version: "3.3.9"
          mvn-phases: "clean test install spotbugs:check"
          mvn-profiles: "ci-verify"

    vote:
      if: ${{ always() }}
      # yamllint enable rule:line-length
      needs: [prepare, verify-onos-component]
      runs-on: ubuntu-latest
      steps:
        - name: Get conclusion
          # yamllint disable-line rule:line-length
          uses: im-open/workflow-conclusion@e4f7c4980600fbe0818173e30931d3550801b992 # v2.2.3
        - name: Set vote
          # yamllint disable-line rule:line-length
          uses: lfreleng-actions/gerrit-review-action@537251ec667665b386f70b330b05446e3fc29087 # v0.9
          with:
            host: ${{ vars.GERRIT_SERVER }}
            username: ${{ vars.GERRIT_SSH_USER }}
            key: ${{ secrets.GERRIT_SSH_PRIVKEY }}
            known_hosts: ${{ vars.GERRIT_KNOWN_HOSTS }}
            gerrit-change-number: ${{ inputs.GERRIT_CHANGE_NUMBER }}
            gerrit-patchset-number: ${{ inputs.GERRIT_PATCHSET_NUMBER }}
            vote-type: ${{ env.WORKFLOW_CONCLUSION }}
            comment-only: ${{ inputs.comment-only }}
