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 }}
- 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 }}
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 }}