You've already forked library-registry
mirror of
https://github.com/arduino/library-registry.git
synced 2025-07-28 02:41:51 +03:00
Add CI workflow to lint and check formatting of Python files
On every push and pull request that affects relevant files, run flake8 to check the Python files of the repository for issues and black to check formatting. The .flake8 file is used to configure flake8: https://flake8.pycqa.org/en/latest/user/configuration.html
This commit is contained in:
86
.github/workflows/check-python-task.yml
vendored
Normal file
86
.github/workflows/check-python-task.yml
vendored
Normal file
@ -0,0 +1,86 @@
|
||||
# Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/check-python-task.md
|
||||
name: Check Python
|
||||
|
||||
env:
|
||||
# See: https://github.com/actions/setup-python/tree/v2#available-versions-of-python
|
||||
PYTHON_VERSION: "3.9"
|
||||
|
||||
# See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- ".github/workflows/check-python-task.ya?ml"
|
||||
- "**/.flake8"
|
||||
- "**/poetry.lock"
|
||||
- "**/pyproject.toml"
|
||||
- "**/setup.cfg"
|
||||
- "Taskfile.ya?ml"
|
||||
- "**/tox.ini"
|
||||
- "**.py"
|
||||
pull_request:
|
||||
paths:
|
||||
- ".github/workflows/check-python-task.ya?ml"
|
||||
- "**/.flake8"
|
||||
- "**/poetry.lock"
|
||||
- "**/pyproject.toml"
|
||||
- "**/setup.cfg"
|
||||
- "Taskfile.ya?ml"
|
||||
- "**/tox.ini"
|
||||
- "**.py"
|
||||
workflow_dispatch:
|
||||
repository_dispatch:
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Install Python
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
|
||||
- name: Install Poetry
|
||||
run: pip install poetry
|
||||
|
||||
- name: Install Task
|
||||
uses: arduino/setup-task@v1
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
version: 3.x
|
||||
|
||||
- name: Run flake8
|
||||
uses: liskin/gh-problem-matcher-wrap@v1
|
||||
with:
|
||||
linters: flake8
|
||||
run: task python:lint
|
||||
|
||||
formatting:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Install Python
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
|
||||
- name: Install Poetry
|
||||
run: pip install poetry
|
||||
|
||||
- name: Install Task
|
||||
uses: arduino/setup-task@v1
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
version: 3.x
|
||||
|
||||
- name: Format Python code
|
||||
run: task python:format
|
||||
|
||||
- name: Check formatting
|
||||
run: git diff --color --exit-code
|
Reference in New Issue
Block a user