7
7
name : ${{ matrix.os }} - Python ${{ matrix.python-version }}
8
8
strategy :
9
9
matrix :
10
- os : [macOS-latest, ubuntu-22.04 , windows-latest]
11
- python-version : [3.9, "3.10", 3.11, 3.12]
10
+ os : [macOS-latest, ubuntu-latest , windows-latest]
11
+ python-version : ["3.10", 3.11, 3.12, 3.13 ]
12
12
fail-fast : false
13
13
runs-on : ${{ matrix.os }}
14
14
steps :
15
- - uses : actions/checkout@v1
15
+ - uses : actions/checkout@v4
16
16
with :
17
17
submodules : true
18
18
- name : Environment Variables
@@ -22,41 +22,43 @@ jobs:
22
22
echo "CI_SHA=${{ github.sha }}" >> $GITHUB_ENV
23
23
echo "COVERALLS_REPO_TOKEN=${{ secrets.COVERALLS_REPO_TOKEN }}" >> $GITHUB_ENV
24
24
shell : bash
25
- - name : Set up Python 3.9 for Pre-Commit
26
- uses : actions/setup-python@v4
25
+ - name : Set up Python 3.10 for Pre-Commit
26
+ uses : actions/setup-python@v5
27
27
with :
28
- python-version : 3.9
28
+ python-version : " 3.10 "
29
29
- name : Set up Python ${{ matrix.python-version }}
30
- uses : actions/setup-python@v4
30
+ uses : actions/setup-python@v5
31
31
with :
32
32
python-version : ${{ matrix.python-version }}
33
- - name : Install Poetry
34
- env :
35
- POETRY_VERSION : 1.4.0
33
+ - name : Install Dependencies (macOS)
34
+ if : matrix.os == 'macOS-latest'
36
35
run : |
37
- curl -sSL https://install.python-poetry.org | POETRY_HOME=$HOME/.poetry python3 -
38
- echo "$HOME/.poetry/bin" >> $GITHUB_PATH
36
+ brew install freeimage
37
+ # TODO: Drop when https://github.com/imageio/imageio/issues/628 is addressed
38
+ echo "IMAGEIO_FREEIMAGE_LIB=/opt/homebrew/Cellar/freeimage/3.18.0/lib/libfreeimage.3.18.0.dylib" >> $GITHUB_ENV
39
+ - name : Install uv
40
+ run : |
41
+ pip install uv
39
42
shell : bash
40
43
- name : Install Package Dependencies
41
44
run : |
42
- poetry run python -m pip install --upgrade pip
43
- poetry install
44
- poetry run python -c "import imageio;imageio.plugins.freeimage.download()"
45
+ uv sync --all-extras --no-dev
46
+ uv run python -c "import imageio;imageio.plugins.freeimage.download()"
45
47
shell : bash
46
48
- name : Pre-Commit (All Files)
47
49
run : |
48
- poetry run pre-commit run --all-files
50
+ uv run pre-commit run --all-files
49
51
shell : bash
50
52
- name : Test Optimised Python Execution
51
53
run : |
52
- poetry run python -OO -c "import $CI_PACKAGE"
54
+ uv run python -OO -c "import $CI_PACKAGE"
53
55
shell : bash
54
56
- name : Test with Pytest
55
57
run : |
56
- poetry run python -W ignore -m pytest --doctest-modules --ignore=$CI_PACKAGE/examples --cov=$CI_PACKAGE $CI_PACKAGE
58
+ uv run python -W ignore -m pytest --doctest-modules --ignore=$CI_PACKAGE/examples --cov=$CI_PACKAGE $CI_PACKAGE
57
59
shell : bash
58
60
- name : Upload Coverage to coveralls.io
59
- if : matrix.os == 'macOS-latest' && matrix.python-version == '3.11 '
61
+ if : matrix.os == 'macOS-latest' && matrix.python-version == '3.12 '
60
62
run : |
61
- if [ -z "$COVERALLS_REPO_TOKEN" ]; then echo \"COVERALLS_REPO_TOKEN\" secret is undefined!; else poetry run coveralls; fi
63
+ if [ -z "$COVERALLS_REPO_TOKEN" ]; then echo \"COVERALLS_REPO_TOKEN\" secret is undefined!; else uv run coveralls; fi
62
64
shell : bash
0 commit comments