high #7
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
# Test the upper-bound dependencies of the project | |
name: "high" | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: "15 10 * * 0" | |
defaults: | |
run: | |
shell: "pwsh" | |
env: | |
UV_CACHE_DIR: ".cache/uv-cache" | |
UV_SYSTEM_PYTHON: "true" | |
SYNC_PY_HIGH: "true" | |
jobs: | |
sync: | |
strategy: | |
matrix: | |
runner: ["ubuntu-22.04"] | |
python: ["3.11"] | |
runs-on: "${{ matrix.runner }}" | |
steps: | |
- uses: "actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f" # v4.1.3 | |
with: | |
submodules: True | |
- uses: "actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d" # v5.1.0 | |
with: | |
python-version: "${{ matrix.python }}" | |
- run: "scripts/Sync-Py.ps1" | |
- uses: "actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808" # v4.3.3 | |
with: | |
name: "lock" | |
path: "lock-high.json" | |
build-docs: | |
needs: "sync" | |
strategy: | |
matrix: | |
runner: ["ubuntu-22.04"] | |
python: ["3.11"] | |
runs-on: "${{ matrix.runner }}" | |
steps: | |
- uses: "actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f" # v4.1.3 | |
with: | |
submodules: True | |
- uses: "actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e" # v4.1.7 | |
with: | |
name: "lock" | |
- uses: "actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d" # v5.1.0 | |
with: | |
python-version: "${{ matrix.python }}" | |
- run: "scripts/Sync-Py.ps1" | |
- run: "sphinx-build -EaT docs _site" | |
- uses: "actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa" # v3.0.1 | |
ruff: | |
needs: "sync" | |
strategy: | |
matrix: | |
runner: ["ubuntu-22.04"] | |
python: ["3.11"] | |
runs-on: "${{ matrix.runner }}" | |
steps: | |
- uses: "actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f" # v4.1.3 | |
with: | |
submodules: True | |
- uses: "actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e" # v4.1.7 | |
with: | |
name: "lock" | |
- uses: "actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d" # v5.1.0 | |
with: | |
python-version: "${{ matrix.python }}" | |
- run: "scripts/Sync-Py.ps1" | |
- run: "ruff check --no-fix --output-format github ." | |
fawltydeps: | |
needs: "sync" | |
strategy: | |
matrix: | |
runner: ["ubuntu-22.04"] | |
python: ["3.11"] | |
runs-on: "${{ matrix.runner }}" | |
steps: | |
- uses: "actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f" # v4.1.3 | |
with: | |
submodules: True | |
- uses: "actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e" # v4.1.7 | |
with: | |
name: "lock" | |
- uses: "actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d" # v5.1.0 | |
with: | |
python-version: "${{ matrix.python }}" | |
- run: "scripts/Sync-Py.ps1" | |
- run: "fawltydeps" | |
pyright: | |
needs: "sync" | |
strategy: | |
matrix: | |
runner: ["ubuntu-22.04"] | |
python: ["3.11"] | |
runs-on: "${{ matrix.runner }}" | |
steps: | |
- uses: "actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f" # v4.1.3 | |
with: | |
submodules: True | |
- uses: "actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e" # v4.1.7 | |
with: | |
name: "lock" | |
- uses: "actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d" # v5.1.0 | |
with: | |
python-version: "${{ matrix.python }}" | |
- run: "scripts/Sync-Py.ps1" | |
- run: pyright | |
test: | |
needs: "sync" | |
strategy: | |
matrix: | |
runner: | |
- "macos-14" | |
- "ubuntu-22.04" | |
- "windows-2022" | |
python: ["3.11"] | |
runs-on: "${{ matrix.runner }}" | |
steps: | |
- uses: "actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f" # v4.1.3 | |
with: | |
submodules: True | |
- uses: "actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e" # v4.1.7 | |
with: | |
name: "lock" | |
- uses: "actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d" # v5.1.0 | |
with: | |
python-version: "${{ matrix.python }}" | |
- run: "scripts/Sync-Py.ps1 -Version '${{ matrix.python }}'" | |
- run: "pytest" | |
lock: | |
needs: | |
- "ruff" | |
- "fawltydeps" | |
- "pyright" | |
- "test" | |
permissions: | |
contents: "write" | |
strategy: | |
matrix: | |
runner: ["ubuntu-22.04"] | |
python: ["3.11"] | |
runs-on: "${{ matrix.runner }}" | |
steps: | |
- uses: "actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f" # v4.1.3 | |
- uses: "actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e" # v4.1.7 | |
with: | |
name: "lock" | |
- uses: "stefanzweifel/git-auto-commit-action@8621497c8c39c72f3e2a999a26b4ca1b5058a842" # v5.0.1 | |
with: | |
commit_message: "Sync and lock highest dependencies" |