Skip to content

Commit

Permalink
💚 Update pyright check
Browse files Browse the repository at this point in the history
  • Loading branch information
BalconyJH committed Jan 10, 2025
1 parent 8d5dab8 commit 0ddf3cf
Show file tree
Hide file tree
Showing 2 changed files with 76 additions and 18 deletions.
77 changes: 62 additions & 15 deletions .github/actions/setup-python/action.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
name: Setup Python
description: Setup Python
description: Setup Python with PDM

inputs:
python-version:
description: Python version
description: Python version to use
required: false
default: "3.10"
default: "3.9"
env-dir:
description: Environment directory
required: false
Expand All @@ -14,24 +14,71 @@ inputs:
description: Do not install package in the environment
required: false
default: "false"
pdm-version:
description: PDM version to use
required: false
default: "latest"
allow-python-prereleases:
description: Allow installing python prereleases
required: false
default: "false"
with-groups:
description: Comma-separated list of dependency groups to include (e.g., "dev,test")
required: false
default: ""
without-groups:
description: Comma-separated list of dependency groups to exclude
required: false
default: ""
dev:
description: Select dev dependencies
required: false
default: "false"
production:
description: Unselect dev dependencies
required: false
default: "false"

runs:
using: "composite"
steps:
- name: Install pdm
run: pipx install pdm
shell: bash

- uses: actions/setup-python@v5
- name: Setup PDM
uses: pdm-project/setup-pdm@v4
with:
python-version: ${{ inputs.python-version }}
cache: "pdm"
cache-dependency-path: |
./pdm.lock
${{ inputs.env-dir }}/pdm.lock
version: ${{ inputs.pdm-version }}
allow-python-prereleases: ${{ inputs.allow-python-prereleases }}
cache: true

- run: |
- name: Install dependencies
shell: bash
run: |
cd ${{ inputs.env-dir }}
pdm install --all
install_cmd="pdm install"
if [ ! -z "${{ inputs.with-groups }}" ]; then
IFS=',' read -ra groups <<< "${{ inputs.with-groups }}"
for group in "${groups[@]}"; do
install_cmd="$install_cmd -G $group"
done
fi
shell: bash
if [ ! -z "${{ inputs.without-groups }}" ]; then
install_cmd="$install_cmd --without ${{ inputs.without-groups }}"
fi
if [ "${{ inputs.dev }}" = "true" ]; then
install_cmd="$install_cmd --dev"
fi
if [ "${{ inputs.production }}" = "true" ]; then
install_cmd="$install_cmd --prod"
fi
if [ "${{ inputs.no-root }}" = "true" ]; then
install_cmd="$install_cmd --no-default"
fi
echo "Running: $install_cmd"
eval $install_cmd
17 changes: 14 additions & 3 deletions .github/workflows/pyright.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,12 @@ jobs:
pyright:
name: Pyright Lint
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [ "3.9", "3.10", "3.11", "3.12" ]
fail-fast: false
concurrency:
group: pyright-${{ github.ref }}-${{ matrix.env }}
group: pyright-${{ github.ref }}-${{ matrix.python-version }}
cancel-in-progress: true

steps:
Expand All @@ -28,8 +32,15 @@ jobs:
- name: Setup Python environment
uses: ./.github/actions/setup-python
with:
env-dir: ./envs/${{ matrix.env }}
no-root: true
python-version: ${{ matrix.python-version }}
with-groups: "test,dev"
no-root: "false"

- name: Run Pyright
uses: jakebailey/pyright-action@v2
with:
pylance-version: "latest-release"
use-config: true
working-directory: "."
extra-args: "--warnings --verbose"
annotate: true

0 comments on commit 0ddf3cf

Please sign in to comment.