Bump GH CI to use `uv` throughout!
See docs: https://docs.astral.sh/uv/guides/integration/github/ Summary, - drop `mypy` job for now since I'd like to move to trying `ty`. - convert sdist built to `uv build` - just run test suite on py3.13 for now, not sure if 3.12 will break due to the eg stuff or not?main
parent
27e6ad18ee
commit
c0eef3bac3
|
@ -8,46 +8,70 @@ on:
|
|||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
|
||||
mypy:
|
||||
name: 'MyPy'
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setup python
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: '3.11'
|
||||
|
||||
- name: Install dependencies
|
||||
run: pip install -U . --upgrade-strategy eager -r requirements-test.txt
|
||||
|
||||
- name: Run MyPy check
|
||||
run: mypy tractor/ --ignore-missing-imports --show-traceback
|
||||
|
||||
# ------ sdist ------
|
||||
# test that we can generate a software distribution and install it
|
||||
# thus avoid missing file issues after packaging.
|
||||
#
|
||||
# -[x] produce sdist with uv
|
||||
# ------ - ------
|
||||
sdist-linux:
|
||||
name: 'sdist'
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup python
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: '3.11'
|
||||
- name: Install latest uv
|
||||
uses: astral-sh/setup-uv@v6
|
||||
|
||||
- name: Build sdist
|
||||
run: python setup.py sdist --formats=zip
|
||||
- name: Build sdist as tar.gz
|
||||
run: uv build --sdist --python=3.13
|
||||
|
||||
- name: Install sdist from .zips
|
||||
run: python -m pip install dist/*.zip
|
||||
- name: Install sdist from .tar.gz
|
||||
run: python -m pip install dist/*.tar.gz
|
||||
|
||||
# ------ type-check ------
|
||||
# mypy:
|
||||
# name: 'MyPy'
|
||||
# runs-on: ubuntu-latest
|
||||
|
||||
# steps:
|
||||
# - name: Checkout
|
||||
# uses: actions/checkout@v4
|
||||
|
||||
# - name: Install latest uv
|
||||
# uses: astral-sh/setup-uv@v6
|
||||
|
||||
# # faster due to server caching?
|
||||
# # https://docs.astral.sh/uv/guides/integration/github/#setting-up-python
|
||||
# - name: "Set up Python"
|
||||
# uses: actions/setup-python@v6
|
||||
# with:
|
||||
# python-version-file: "pyproject.toml"
|
||||
|
||||
# # w uv
|
||||
# # - name: Set up Python
|
||||
# # run: uv python install
|
||||
|
||||
# - name: Setup uv venv
|
||||
# run: uv venv .venv --python=3.13
|
||||
|
||||
# - name: Install
|
||||
# run: uv sync --dev
|
||||
|
||||
# # TODO, ty cmd over repo
|
||||
# # - name: type check with ty
|
||||
# # run: ty ./tractor/
|
||||
|
||||
# # - uses: actions/cache@v3
|
||||
# # name: Cache uv virtenv as default .venv
|
||||
# # with:
|
||||
# # path: ./.venv
|
||||
# # key: venv-${{ hashFiles('uv.lock') }}
|
||||
|
||||
# - name: Run MyPy check
|
||||
# run: mypy tractor/ --ignore-missing-imports --show-traceback
|
||||
|
||||
|
||||
testing-linux:
|
||||
|
@ -59,32 +83,45 @@ jobs:
|
|||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-latest]
|
||||
python: ['3.11']
|
||||
python-version: ['3.13']
|
||||
spawn_backend: [
|
||||
'trio',
|
||||
'mp_spawn',
|
||||
'mp_forkserver',
|
||||
# 'mp_spawn',
|
||||
# 'mp_forkserver',
|
||||
]
|
||||
|
||||
steps:
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup python
|
||||
uses: actions/setup-python@v2
|
||||
- name: 'Install uv + py-${{ matrix.python-version }}'
|
||||
uses: astral-sh/setup-uv@v6
|
||||
with:
|
||||
python-version: '${{ matrix.python }}'
|
||||
python-version: ${{ matrix.python-version }}
|
||||
|
||||
- name: Install dependencies
|
||||
run: pip install -U . -r requirements-test.txt -r requirements-docs.txt --upgrade-strategy eager
|
||||
# GH way.. faster?
|
||||
# - name: setup-python@v6
|
||||
# uses: actions/setup-python@v6
|
||||
# with:
|
||||
# python-version: '${{ matrix.python-version }}'
|
||||
|
||||
- name: List dependencies
|
||||
run: pip list
|
||||
# consider caching for speedups?
|
||||
# https://docs.astral.sh/uv/guides/integration/github/#caching
|
||||
|
||||
- name: Install the project w uv
|
||||
run: uv sync --locked --all-extras --dev
|
||||
|
||||
# - name: Install dependencies
|
||||
# run: pip install -U . -r requirements-test.txt -r requirements-docs.txt --upgrade-strategy eager
|
||||
|
||||
- name: List deps tree
|
||||
run: uv tree
|
||||
|
||||
- name: Run tests
|
||||
run: pytest tests/ --spawn-backend=${{ matrix.spawn_backend }} -rsx
|
||||
run: uv run pytest tests/ --spawn-backend=${{ matrix.spawn_backend }} -rsx
|
||||
|
||||
# XXX legacy NOTE XXX
|
||||
#
|
||||
# We skip 3.10 on windows for now due to not having any collabs to
|
||||
# debug the CI failures. Anyone wanting to hack and solve them is very
|
||||
# welcome, but our primary user base is not using that OS.
|
||||
|
|
Loading…
Reference in New Issue