---
name: Call Gerrit ci-management Merge

# yamllint disable-line rule:truthy
on:
  workflow_dispatch:
    inputs:
      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

jobs:
  call-gerrit-ci-management-merge:
    # yamllint disable-line rule:line-length
    uses: lfit/releng-reusable-workflows/.github/workflows/gerrit-ci-management-merge.yaml@main
    with:
      GERRIT_BRANCH: ${{ inputs.GERRIT_BRANCH }}
      GERRIT_CHANGE_ID: ${{ inputs.GERRIT_CHANGE_ID }}
      GERRIT_CHANGE_NUMBER: ${{ inputs.GERRIT_CHANGE_NUMBER }}
      GERRIT_CHANGE_URL: ${{ inputs.GERRIT_CHANGE_URL }}
      GERRIT_EVENT_TYPE: ${{ inputs.GERRIT_EVENT_TYPE }}
      GERRIT_PATCHSET_NUMBER: ${{ inputs.GERRIT_PATCHSET_NUMBER }}
      GERRIT_PATCHSET_REVISION: ${{ inputs.GERRIT_PATCHSET_REVISION }}
      GERRIT_PROJECT: ${{ inputs.GERRIT_PROJECT }}
      GERRIT_REFSPEC: ${{ inputs.GERRIT_REFSPEC }}
    secrets:
      JOBBUILDER_PROD_PSW: ${{ secrets.JOBBUILDER_PROD_PSW }}
      GERRIT_SSH_PRIVKEY: ${{ secrets.GERRIT_SSH_PRIVKEY }}
