Merge pull request #165 from erwindouna/dependabot/npm_and_yarn/postc… #499
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/checkout@v4.1.1 | |
| - 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/checkout@v4.1.1 | |
| - 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/checkout@v4.1.1 | |
| - 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/checkout@v4.1.1 | |
| - 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/checkout@v4.1.1 | |
| - 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/setup-node@v4.0.2 | |
| 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 |