Merge pull request #148 from banter240/fix/request-improvements #492
This file contains hidden or 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: | |
| pull_request: | |
| workflow_dispatch: | |
| env: | |
| DEFAULT_PYTHON: "3.14" | |
| jobs: | |
| ruff: | |
| name: Ruff | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: ⤵️ Check out code from GitHub | |
| uses: actions/[email protected] | |
| - name: 🏗 Install uv and set the Python version ${{ env.DEFAULT_PYTHON }} | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| python-version: ${{ env.DEFAULT_PYTHON }} | |
| - name: 🏗 Install Python dependencies | |
| run: uv sync | |
| - name: 🚀 Run ruff linter | |
| run: uv run ruff check --output-format=github . | |
| - name: 🚀 Run ruff formatter | |
| run: uv 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: 🏗 Install uv and set the Python version ${{ env.DEFAULT_PYTHON }} | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| python-version: ${{ env.DEFAULT_PYTHON }} | |
| - name: 🏗 Install Python dependencies | |
| run: uv sync | |
| - name: 🚀 Check Python AST | |
| run: uv run prek run check-ast --all-files | |
| - name: 🚀 Check for case conflicts | |
| run: uv run prek run check-case-conflict --all-files | |
| - name: 🚀 Check docstring is first | |
| run: uv run prek run check-docstring-first --all-files | |
| - name: 🚀 Check that executables have shebangs | |
| run: uv run prek run check-executables-have-shebangs --all-files | |
| - name: 🚀 Check JSON files | |
| run: uv run prek run check-json --all-files | |
| - name: 🚀 Check for merge conflicts | |
| run: uv run prek run check-merge-conflict --all-files | |
| - name: 🚀 Check for broken symlinks | |
| run: uv run prek run check-symlinks --all-files | |
| - name: 🚀 Check TOML files | |
| run: uv run prek run check-toml --all-files | |
| - name: 🚀 Check XML files | |
| run: uv run prek run check-xml --all-files | |
| - name: 🚀 Check YAML files | |
| run: uv run prek run check-yaml --all-files | |
| - name: 🚀 Check YAML files | |
| run: uv run prek run check-yaml --all-files | |
| - name: 🚀 Detect Private Keys | |
| run: uv run prek run detect-private-key --all-files | |
| - name: 🚀 Check End of Files | |
| run: uv run prek run end-of-file-fixer --all-files | |
| - name: 🚀 Trim Trailing Whitespace | |
| run: uv run prek run trailing-whitespace --all-files | |
| pylint: | |
| name: Pylint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: ⤵️ Check out code from GitHub | |
| uses: actions/[email protected] | |
| - name: 🏗 Install uv and set the Python version ${{ env.DEFAULT_PYTHON }} | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| python-version: ${{ env.DEFAULT_PYTHON }} | |
| - name: 🏗 Install Python dependencies | |
| run: uv sync | |
| - name: 🚀 Run pylint | |
| run: uv run prek run pylint --all-files | |
| yamllint: | |
| name: Yamllint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: ⤵️ Check out code from GitHub | |
| uses: actions/[email protected] | |
| - name: 🏗 Install uv and set the Python version ${{ env.DEFAULT_PYTHON }} | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| python-version: ${{ env.DEFAULT_PYTHON }} | |
| - name: 🏗 Install Python dependencies | |
| run: uv sync | |
| - name: 🚀 Run yamllint | |
| run: uv run yamllint . | |
| prettier: | |
| name: Prettier | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: ⤵️ Check out code from GitHub | |
| uses: actions/[email protected] | |
| - name: 🏗 Install uv and set the Python version ${{ env.DEFAULT_PYTHON }} | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| python-version: ${{ env.DEFAULT_PYTHON }} | |
| - name: 🏗 Install Python dependencies | |
| run: uv sync | |
| - name: 🏗 Set up Node.js | |
| uses: actions/[email protected] | |
| with: | |
| node-version-file: ".nvmrc" | |
| cache: "npm" | |
| - name: 🏗 Install NPM dependencies | |
| run: npm install | |
| - name: 🚀 Run prettier | |
| run: uv run prek run prettier --all-files |