From 20640554115136650d70f11fd9da95bf8811229e Mon Sep 17 00:00:00 2001 From: Andrew Grimberg Date: Mon, 11 Mar 2024 10:48:12 -0700 Subject: Fix: Make non-voting and do INFO validation Properly make the change non-voting and then do the INFO validation Change-Id: Ideece8e09c0dcf1790af3f1ce673a6ab87475d0e Signed-off-by: Andrew Grimberg --- .../gerrit-required-verify-non-voting.yaml | 77 +++++++++++++++++----- 1 file changed, 59 insertions(+), 18 deletions(-) diff --git a/.github/workflows/gerrit-required-verify-non-voting.yaml b/.github/workflows/gerrit-required-verify-non-voting.yaml index 0235d64..7562d8c 100644 --- a/.github/workflows/gerrit-required-verify-non-voting.yaml +++ b/.github/workflows/gerrit-required-verify-non-voting.yaml @@ -1,58 +1,79 @@ --- -name: Gerrit Verify +name: Gerrit Required Verify # yamllint disable-line rule:truthy on: workflow_dispatch: inputs: GERRIT_BRANCH: - description: 'Branch that change is against' + description: "Branch that change is against" required: true type: string GERRIT_CHANGE_ID: - description: 'The ID for the change' + description: "The ID for the change" required: true type: string GERRIT_CHANGE_NUMBER: - description: 'The Gerrit number' + description: "The Gerrit number" required: true type: string GERRIT_CHANGE_URL: - description: 'URL to the change' + description: "URL to the change" required: true type: string GERRIT_EVENT_TYPE: - description: 'Gerrit event type' + description: "Type of Gerrit event" required: true type: string GERRIT_PATCHSET_NUMBER: - description: 'The revision sha' + 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' + description: "Project in Gerrit" required: true type: string GERRIT_REFSPEC: - description: 'Gerrit refspec of change' + description: "Gerrit refspec of change" required: true type: string TARGET_REPO: - # yamllint disable rule:line-length - description: 'The target GitHub repository needing the required workflow' + # yamllint disable-line rule:line-length + description: "The target GitHub repository needing the required workflow" required: true type: string - # yamllint enable rule:line-length concurrency: - group: ${{ github.event.inputs.GERRIT_CHANGE_ID || github.run_id }} + # yamllint disable-line rule:line-length + group: required-verify-${{ github.workflow }}-${{ github.event.inputs.GERRIT_BRANCH }}-${{ github.event.inputs.GERRIT_CHANGE_ID || github.run_id }} cancel-in-progress: true jobs: - call-gerrit-ci-management-verify: - # yamllint disable rule:line-length - uses: lfit/releng-reusable-workflows/.github/workflows/gerrit-ci-management-verify.yaml@main - # yamllint enable rule:line-length + prepare: + runs-on: ubuntu-latest + steps: + - name: Clear votes + uses: lfit/gerrit-review-action@v0.4 + with: + host: ${{ vars.GERRIT_SERVER }} + username: ${{ vars.GERRIT_SSH_REQUIRED_USER }} + key: ${{ secrets.GERRIT_SSH_REQUIRED_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: true + - name: Allow replication + run: sleep 10s + + info-yaml-verify: + needs: prepare + # yamllint disable-line rule:line-length + uses: lfit/releng-reusable-workflows/.github/workflows/gerrit-compose-required-info-yaml-verify.yaml@main with: GERRIT_BRANCH: ${{ inputs.GERRIT_BRANCH }} GERRIT_CHANGE_ID: ${{ inputs.GERRIT_CHANGE_ID }} @@ -63,5 +84,25 @@ jobs: GERRIT_PATCHSET_REVISION: ${{ inputs.GERRIT_PATCHSET_REVISION }} GERRIT_PROJECT: ${{ inputs.GERRIT_PROJECT }} GERRIT_REFSPEC: ${{ inputs.GERRIT_REFSPEC }} + TARGET_REPO: ${{ inputs.TARGET_REPO }} secrets: - GERRIT_SSH_PRIVKEY: ${{ secrets.GERRIT_SSH_PRIVKEY }} + GERRIT_SSH_REQUIRED_PRIVKEY: ${{ secrets.GERRIT_SSH_REQUIRED_PRIVKEY }} + + vote: + if: ${{ always() }} + # yamllint enable rule:line-length + needs: [prepare, info-yaml-verify] + runs-on: ubuntu-latest + steps: + - uses: technote-space/workflow-conclusion-action@v3 + - name: Set vote + uses: lfit/gerrit-review-action@v0.4 + with: + host: ${{ vars.GERRIT_SERVER }} + username: ${{ vars.GERRIT_SSH_REQUIRED_USER }} + key: ${{ secrets.GERRIT_SSH_REQUIRED_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: true -- cgit 1.2.3-korg