Migrate from Poetry to uv, improve workflows, drop support for Python 3.8 #203
Workflow file for this run
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: ci | |
| on: | |
| push: | |
| branches: [ master ] | |
| pull_request: | |
| branches: [ master ] | |
| jobs: | |
| lint: | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v7 | |
| - name: Install the project | |
| run: uv sync --locked --all-extras --group lint --group form --group type | |
| - name: Run pre-commit which does various checks | |
| run: uvx --with pre-commit-uv pre-commit run --all-files --show-diff-on-failure | |
| build: | |
| runs-on: windows-latest | |
| strategy: | |
| matrix: | |
| python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v7 | |
| - name: Install the project | |
| run: uv sync --locked --extra gui | |
| - name: Build project | |
| run: uv build | |
| - name: Cache prod.keys | |
| id: cache-prod-keys | |
| uses: actions/cache@v5 | |
| with: | |
| path: prod.keys | |
| key: prod-keys | |
| - name: Save prod.keys safely | |
| if: steps.cache-prod-keys.outputs.cache-hit != 'true' | |
| env: | |
| PROD_KEYS: ${{ secrets.PROD_KEYS }} | |
| run: $env:PROD_KEYS | Out-File prod.keys | |
| - name: Build basic NSP forwarder | |
| run: uv run nton build "sdl-hello.nro" --name "Hello World" --publisher "vgmoose" --version "1.1" --sdmc "/switch/sdl-hello.nro" |