Merge pull request #100 from Thomas55555/Add-python-3.13-support #265
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: Linting | |
# yamllint disable-line rule:truthy | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
workflow_dispatch: | |
env: | |
DEFAULT_PYTHON: "3.11" | |
jobs: | |
codespell: | |
name: codespell | |
runs-on: ubuntu-latest | |
steps: | |
- name: ⤵️ Check out code from GitHub | |
uses: actions/[email protected] | |
- name: 🏗 Set up Poetry | |
run: pipx install poetry | |
- name: 🏗 Set up Python ${{ env.DEFAULT_PYTHON }} | |
id: python | |
uses: actions/[email protected] | |
with: | |
python-version: ${{ env.DEFAULT_PYTHON }} | |
cache: "poetry" | |
- name: 🏗 Install workflow dependencies | |
run: | | |
poetry config virtualenvs.create true | |
poetry config virtualenvs.in-project true | |
- name: 🏗 Install Python dependencies | |
run: poetry install --no-interaction | |
- name: 🚀 Check code for common misspellings | |
run: poetry run pre-commit run codespell --all-files | |
ruff: | |
name: Ruff | |
runs-on: ubuntu-latest | |
steps: | |
- name: ⤵️ Check out code from GitHub | |
uses: actions/[email protected] | |
- name: 🏗 Set up Poetry | |
run: pipx install poetry | |
- name: 🏗 Set up Python ${{ env.DEFAULT_PYTHON }} | |
id: python | |
uses: actions/[email protected] | |
with: | |
python-version: ${{ env.DEFAULT_PYTHON }} | |
cache: "poetry" | |
- name: 🏗 Install workflow dependencies | |
run: | | |
poetry config virtualenvs.create true | |
poetry config virtualenvs.in-project true | |
- name: 🏗 Install Python dependencies | |
run: poetry install --no-interaction | |
- name: 🚀 Run ruff linter | |
run: poetry run ruff check --output-format=github . | |
- name: 🚀 Run ruff formatter | |
run: poetry run ruff format --check . | |
pre-commit-hooks: | |
name: pre-commit-hooks | |
runs-on: ubuntu-latest | |
steps: | |
- name: ⤵️ Check out code from GitHub | |
uses: actions/[email protected] | |
- name: 🏗 Set up Poetry | |
run: pipx install poetry | |
- name: 🏗 Set up Python ${{ env.DEFAULT_PYTHON }} | |
id: python | |
uses: actions/[email protected] | |
with: | |
python-version: ${{ env.DEFAULT_PYTHON }} | |
cache: "poetry" | |
- name: 🏗 Install workflow dependencies | |
run: | | |
poetry config virtualenvs.create true | |
poetry config virtualenvs.in-project true | |
- name: 🏗 Install Python dependencies | |
run: poetry install --no-interaction | |
- name: 🚀 Check Python AST | |
run: poetry run pre-commit run check-ast --all-files | |
- name: 🚀 Check for case conflicts | |
run: poetry run pre-commit run check-case-conflict --all-files | |
- name: 🚀 Check docstring is first | |
run: poetry run pre-commit run check-docstring-first --all-files | |
- name: 🚀 Check that executables have shebangs | |
run: poetry run pre-commit run check-executables-have-shebangs --all-files | |
- name: 🚀 Check JSON files | |
run: poetry run pre-commit run check-json --all-files | |
- name: 🚀 Check for merge conflicts | |
run: poetry run pre-commit run check-merge-conflict --all-files | |
- name: 🚀 Check for broken symlinks | |
run: poetry run pre-commit run check-symlinks --all-files | |
- name: 🚀 Check TOML files | |
run: poetry run pre-commit run check-toml --all-files | |
- name: 🚀 Check XML files | |
run: poetry run pre-commit run check-xml --all-files | |
- name: 🚀 Check YAML files | |
run: poetry run pre-commit run check-yaml --all-files | |
- name: 🚀 Detect Private Keys | |
run: poetry run pre-commit run detect-private-key --all-files | |
- name: 🚀 Check End of Files | |
run: poetry run pre-commit run end-of-file-fixer --all-files | |
- name: 🚀 Trim Trailing Whitespace | |
run: poetry run pre-commit run trailing-whitespace --all-files | |
pylint: | |
name: pylint | |
runs-on: ubuntu-latest | |
steps: | |
- name: ⤵️ Check out code from GitHub | |
uses: actions/[email protected] | |
- name: 🏗 Set up Poetry | |
run: pipx install poetry | |
- name: 🏗 Set up Python ${{ env.DEFAULT_PYTHON }} | |
id: python | |
uses: actions/[email protected] | |
with: | |
python-version: ${{ env.DEFAULT_PYTHON }} | |
cache: "poetry" | |
- name: 🏗 Install workflow dependencies | |
run: | | |
poetry config virtualenvs.create true | |
poetry config virtualenvs.in-project true | |
- name: 🏗 Install Python dependencies | |
run: poetry install --no-interaction | |
- name: 🚀 Run pylint | |
run: poetry run pre-commit run pylint --all-files | |
yamllint: | |
name: yamllint | |
runs-on: ubuntu-latest | |
steps: | |
- name: ⤵️ Check out code from GitHub | |
uses: actions/[email protected] | |
- name: 🏗 Set up Poetry | |
run: pipx install poetry | |
- name: 🏗 Set up Python ${{ env.DEFAULT_PYTHON }} | |
id: python | |
uses: actions/[email protected] | |
with: | |
python-version: ${{ env.DEFAULT_PYTHON }} | |
cache: "poetry" | |
- name: 🏗 Install workflow dependencies | |
run: | | |
poetry config virtualenvs.create true | |
poetry config virtualenvs.in-project true | |
- name: 🏗 Install Python dependencies | |
run: poetry install --no-interaction | |
- name: 🚀 Run yamllint | |
run: poetry run yamllint . |