diff --git a/.github/workflows/lint-and-build.yml b/.github/workflows/lint-and-build.yml index 0ca3caff..e4776b7b 100644 --- a/.github/workflows/lint-and-build.yml +++ b/.github/workflows/lint-and-build.yml @@ -40,25 +40,20 @@ concurrency: jobs: ruff: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - # Ruff is version and platform sensible - matrix: - os: [windows-latest, ubuntu-22.04] - python-version: ["3.11", "3.12", "3.13"] + runs-on: ubuntu-22.04 steps: - name: Checkout ${{ github.repository }}/${{ github.ref }} uses: actions/checkout@v4 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - cache: "pip" - cache-dependency-path: "scripts/requirements*.txt" - - run: scripts/install.ps1 + - name: Get Ruff version + id: ruff_version + run: | + $Env:RUFF_VERSION=Select-String -path scripts/requirements-dev.txt -pattern 'ruff ?([=<>~]?= ?[\d\.]+)' | %{ $_.Matches[0].Groups[1].Value } + echo $Env:RUFF_VERSION + echo "RUFF_VERSION=$Env:RUFF_VERSION" >> $Env:GITHUB_OUTPUT shell: pwsh - - run: ruff check . + - uses: astral-sh/ruff-action@v2 + with: + version: ${{ steps.ruff_version.outputs.RUFF_VERSION }} Pyright: runs-on: ${{ matrix.os }} strategy: @@ -89,7 +84,6 @@ jobs: uses: jakebailey/pyright-action@v2 with: version: ${{ steps.pyright_version.outputs.PYRIGHT_VERSION }} - extra-args: --threads working-directory: src/ python-version: ${{ matrix.python-version }} Build: diff --git a/scripts/requirements-dev.txt b/scripts/requirements-dev.txt index cf1cde59..1bdb9648 100644 --- a/scripts/requirements-dev.txt +++ b/scripts/requirements-dev.txt @@ -12,7 +12,7 @@ -r requirements.txt # # Linters & Formatters -ruff>=0.8.0 # Pre-commit fix # Must match .pre-commit-config.yaml +ruff>=0.8.0 # # Types scipy-stubs>=1.14.1.1 diff --git a/scripts/requirements.txt b/scripts/requirements.txt index ad83222b..64b1ab52 100644 --- a/scripts/requirements.txt +++ b/scripts/requirements.txt @@ -12,7 +12,7 @@ psutil>=6.0.0 # Python 3.13 support # PyAutoGUI # See install.ps1 PyWinCtl>=0.0.42 # py.typed # When needed, dev builds can be found at https://download.qt.io/snapshots/ci/pyside/dev?C=M;O=D -PySide6-Essentials>=6.8.0.2 # Python 3.13 support +PySide6-Essentials<6.8.1 # Has typing issue with QMessageBox.warning https://bugreports.qt.io/browse/PYSIDE-2939 scipy>=1.14.1 # Python 3.13 support tomli-w>=1.1.0 # Typing fixes typing-extensions>=4.4.0 # @override decorator support