From ff290ddd74185bcb7d8a4673ed667f5f3d3a873c Mon Sep 17 00:00:00 2001 From: Andrew Grimberg Date: Wed, 13 Sep 2023 12:22:25 -0700 Subject: [PATCH] CI: Transition off of tox for validation Signed-off-by: Andrew Grimberg Change-Id: Ie6e7a20d0867b3887eda1a1e0c7342949226e3c7 --- .github/workflows/gerrit-verify.yaml | 61 ++++++++++++++++++++++++++++++------ 1 file changed, 52 insertions(+), 9 deletions(-) diff --git a/.github/workflows/gerrit-verify.yaml b/.github/workflows/gerrit-verify.yaml index bfaf91a7..40d596d2 100644 --- a/.github/workflows/gerrit-verify.yaml +++ b/.github/workflows/gerrit-verify.yaml @@ -47,12 +47,12 @@ concurrency: cancel-in-progress: true jobs: - prepare: + clear-vote: runs-on: ubuntu-latest steps: - name: Clear votes # yamllint disable-line rule:line-length - uses: lfit/gerrit-review-action@6ac4c2322b68c0120a9b516eb0421491ee1b3fdf # v0.4 + uses: lfit/gerrit-review-action@6ac4c2322b68c0120a9b516eb0421491ee1b3fdf # v0.4 with: host: ${{ vars.LFIT_GERRIT_SERVER }} username: ${{ vars.LFIT_GERRIT_SSH_USER }} @@ -64,13 +64,34 @@ jobs: - name: Allow replication run: sleep 10s - tox: - needs: prepare + actionlint: + needs: clear-vote runs-on: ubuntu-latest steps: - name: Gerrit Checkout # yamllint disable-line rule:line-length - uses: lfit/checkout-gerrit-change-action@57bf0435f739fbbc7ce4cc85c9c3b8a386c6f84b # v0.6 + 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" + - name: Download actionlint + id: get_actionlint + # yamllint disable-line rule:line-length + run: bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash) + shell: bash + - name: Check workflow files + run: ${{ steps.get_actionlint.outputs.executable }} -color + shell: bash + + license: + needs: clear-vote + 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 }} @@ -81,20 +102,42 @@ jobs: id: setup-python with: python-version: "3.11" - - name: Run tests + - name: Install lftools + run: pip install lftools + - name: Run license check run: >- - TOX_SKIP_ENV=pre-commit pipx run tox + lftools license check-dir -r '.+' shell + + pre-commit: + needs: clear-vote + 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" + - name: Configure Python + uses: actions/setup-python@v4 + with: + python-version: "3.11" + - name: Run static analysis and format checkers + # yamllint disable-line rule:line-length + run: SKIP=actionlint pipx run pre-commit run --all-files --show-diff-on-failure vote: if: ${{ always() }} - needs: [prepare, tox] + needs: [clear-vote, actionlint, license, pre-commit] runs-on: ubuntu-latest steps: - name: Get workflow conclusion uses: technote-space/workflow-conclusion-action@v3 - name: Set vote # yamllint disable-line rule:line-length - uses: lfit/gerrit-review-action@6ac4c2322b68c0120a9b516eb0421491ee1b3fdf # v0.4 + uses: lfit/gerrit-review-action@6ac4c2322b68c0120a9b516eb0421491ee1b3fdf # v0.4 with: host: ${{ vars.LFIT_GERRIT_SERVER }} username: ${{ vars.LFIT_GERRIT_SSH_USER }} -- 2.16.6