From: Eric Ball Date: Thu, 8 Aug 2024 19:46:12 +0000 (-0700) Subject: Fix: Rework GHAs to fix several issues X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=commitdiff_plain;h=942431ff40def77995360454695b6ce1165c4755;p=iec.git Fix: Rework GHAs to fix several issues This includes the following changes: * Change "Name" to "name" * Remove TARGET_REPO from inputs * Change user from Required to normal user ("jobbuilder") * Rename files; required checks are in gerrit-verify, and non- required are in gerrit-novote-verify * Update versions of actions being utilized Issue-ID: RELENG-4799 Change-Id: Icb67fda6b077b8b05bb97262894f4dbef9709a7a Signed-off-by: Eric Ball --- diff --git a/.github/workflows/gerrit-novote-verify.yaml b/.github/workflows/gerrit-novote-verify.yaml new file mode 100644 index 0000000..dc09101 --- /dev/null +++ b/.github/workflows/gerrit-novote-verify.yaml @@ -0,0 +1,71 @@ +--- +name: Gerrit Required Verify + +# 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 + TARGET_REPO: + # yamllint disable-line rule:line-length + description: "The target GitHub repository needing the required workflow" + required: true + type: string + +concurrency: + # yamllint disable-line rule:line-length + group: compose-tox-verify-${{ github.workflow }}-${{ github.event.inputs.GERRIT_CHANGE_ID || github.run_id }} + cancel-in-progress: true + +jobs: + sonarcloud: + runs-on: ubuntu-latest + steps: + - name: Gerrit Checkout + # yamllint disable-line rule:line-length + uses: lfit/checkout-gerrit-change-action@57bf0435f739fbbc7ce4cc85c9c3b8a386c6f84b # v0.6 + with: + gerrit-refspec: ${{ inputs.GERRIT_REFSPEC }} + gerrit-project: ${{ inputs.GERRIT_PROJECT }} + gerrit-url: ${{ vars.GERRIT_URL }} + delay: "0s" + submodules: "true" + - name: SonarCloud Scan + uses: SonarSource/sonarcloud-github-action@master + env: + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} diff --git a/.github/workflows/gerrit-required-verify.yaml b/.github/workflows/gerrit-required-verify.yaml deleted file mode 100644 index bc17011..0000000 --- a/.github/workflows/gerrit-required-verify.yaml +++ /dev/null @@ -1,105 +0,0 @@ ---- -Name: Gerrit Required Verify - -# 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 - TARGET_REPO: - # yamllint disable-line rule:line-length - description: "The target GitHub repository needing the required workflow" - required: true - type: string - -concurrency: - # yamllint disable-line rule:line-length - group: compose-tox-verify-${{ github.workflow }}-${{ github.event.inputs.GERRIT_CHANGE_ID || github.run_id }} - cancel-in-progress: true - -jobs: - clear-vote: - 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 - - name: Allow replication - run: sleep 10s - - tox-verify: - needs: clear-vote - # yamllint disable-line rule:line-length - uses: lfit/releng-reusable-workflows/.github/workflows/gerrit-compose-required-tox-verify.yaml@b041cbaaa3e8b132e8f7cf3d8eab4fb4519f7c1c - 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 }} - TARGET_REPO: ${{ inputs.TARGET_REPO }} - TOX_ENVS: '["docs", "docs-linkcheck", "pre-commit"]' - - vote: - if: ${{ always() }} - # yamllint enable rule:line-length - needs: [clear-vote, info-yaml-verify, test-installer] - 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 }} diff --git a/.github/workflows/gerrit-verify.yaml b/.github/workflows/gerrit-verify.yaml index af38804..fe2d7f8 100644 --- a/.github/workflows/gerrit-verify.yaml +++ b/.github/workflows/gerrit-verify.yaml @@ -1,5 +1,5 @@ --- -Name: Gerrit Required Verify +name: Gerrit Required Verify # yamllint disable-line rule:truthy on: @@ -41,11 +41,6 @@ on: description: "Gerrit refspec of change" required: true type: string - TARGET_REPO: - # yamllint disable-line rule:line-length - description: "The target GitHub repository needing the required workflow" - required: true - type: string concurrency: # yamllint disable-line rule:line-length @@ -53,19 +48,52 @@ concurrency: cancel-in-progress: true jobs: - sonarcloud: + clear-vote: + runs-on: ubuntu-latest + steps: + - name: Clear votes + uses: lfit/gerrit-review-action@v0.4 + 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 + - name: Allow replication + run: sleep 10s + + tox-verify: + needs: clear-vote + # yamllint disable-line rule:line-length + uses: lfit/releng-reusable-workflows/.github/workflows/gerrit-compose-required-tox-verify.yaml@b041cbaaa3e8b132e8f7cf3d8eab4fb4519f7c1c + 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 }} + TOX_ENVS: '["docs", "docs-linkcheck", "pre-commit"]' + + vote: + if: ${{ always() }} + # yamllint enable rule:line-length + needs: [clear-vote, tox-verify] runs-on: ubuntu-latest steps: - - name: Gerrit Checkout - # yamllint disable-line rule:line-length - uses: lfit/checkout-gerrit-change-action@57bf0435f739fbbc7ce4cc85c9c3b8a386c6f84b # v0.6 + - uses: im-open/workflow-conclusion@e4f7c4980600fbe0818173e30931d3550801b992 # v2.2.3 + - name: Set vote + uses: lfit/gerrit-review-action@9627b9a144f2a2cad70707ddfae87c87dce60729 # v0.8 with: - gerrit-refspec: ${{ inputs.GERRIT_REFSPEC }} - gerrit-project: ${{ inputs.GERRIT_PROJECT }} - gerrit-url: ${{ vars.GERRIT_URL }} - delay: "0s" - submodules: "true" - - name: SonarCloud Scan - uses: SonarSource/sonarcloud-github-action@master - env: - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + 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 }}