77 pull_request :
88
99concurrency :
10- # Cancel running job if another commit is pushed to the branch
1110 group : ${{ github.ref }}
1211 cancel-in-progress : true
1312
@@ -16,126 +15,80 @@ jobs:
1615 name : build
1716 runs-on : ${{ matrix.os }}
1817 strategy :
19- fail-fast : false
2018 matrix :
2119 python-version :
2220 - " 3.10"
2321 - " 3.11"
2422 - " 3.12"
23+ - " 3.13"
2524 os :
2625 - ubuntu-latest
2726 - windows-latest
2827 - macos-latest
2928 steps :
3029 - uses : actions/checkout@v4
31- - name : Set up Python ${{ matrix.python-version }}
32- uses : actions/setup-python@v5
30+ - uses : astral-sh/setup-uv@v5
3331 with :
3432 python-version : ${{ matrix.python-version }}
35- - name : Download uv (non-Windows)
36- if : ${{ runner.os != 'Windows' }}
37- run : curl -LsSf https://astral.sh/uv/install.sh | sh
38- - name : Download uv (Windows)
39- if : ${{ runner.os == 'Windows' }}
40- run : irm https://astral.sh/uv/install.ps1 | iex
41- - name : Install package with dev requirements
42- run : uv pip install --system .[dev]
33+ - name : Sync
34+ run : uv sync
4335 - name : Run pre-commit
44- run : pre-commit run --all-files
36+ run : uv run pre-commit run --all-files
4537 - name : Run pytest
46- run : pytest -Werror -s --block-network --cov pystac_client --cov-report term-missing
38+ run : uv run pytest -Werror -s --block-network --cov pystac_client --cov-report term-missing
4739 - name : Run coverage
48- run : coverage xml
49- - name : Upload All coverage to Codecov
50- uses : codecov/codecov-action@v5
40+ run : uv run coverage xml
41+ - uses : codecov/codecov-action@v5
5142 with :
5243 token : ${{ secrets.CODECOV_TOKEN }}
53- file : ./coverage.xml
44+ files : ./coverage.xml
5445 fail_ci_if_error : false
5546
5647 min-versions :
5748 name : min-versions
5849 runs-on : ubuntu-latest
5950 steps :
6051 - uses : actions/checkout@v4
61- - uses : actions /setup-python @v5
52+ - uses : astral-sh /setup-uv @v5
6253 with :
6354 python-version : " 3.10"
64- - name : Download uv
65- run : curl -LsSf https://astral.sh/uv/install.sh | sh
6655 - name : Install with min requirements
67- run : uv pip install --system --resolution=lowest-direct .
56+ run : uv sync --no-dev --resolution=lowest-direct .
6857 - name : Run smoke test
69- run : stac-client search https://planetarycomputer.microsoft.com/api/stac/v1 -c sentinel-2-l2a --max-items 1
70-
71- docs :
72- name : docs
73- runs-on : ubuntu-latest
74- # Required shell entrypoint to have properly activated conda environment
75- defaults :
76- run :
77- shell : bash -l {0}
78- steps :
79- - uses : actions/checkout@v4
80- - name : Setup Conda Environment
81- uses :
conda-incubator/[email protected] 82- with :
83- miniforge-version : latest
84- python-version : " 3.10"
85- use-mamba : true
86- channel-priority : strict
87- environment-file : ./docs/environment.yml
88- activate-environment : pystac-client-docs
89- auto-activate-base : false
90- - name : Build docs
91- run : ./scripts/build-docs
58+ run : stac-client search https://landsatlook.usgs.gov/stac-server -c landsat-c2l2-sr --max-items 1
9259
9360 pre-release :
9461 name : pre-release
9562 runs-on : ubuntu-latest
9663 steps :
9764 - uses : actions/checkout@v4
98- - uses : actions/setup-python@v5
99- with :
100- python-version : " 3.10"
101- - name : Download uv
102- run : curl -LsSf https://astral.sh/uv/install.sh | sh
103- - name : Install with dev requirements
104- run : uv pip install --system --pre .[dev]
65+ - uses : astral-sh/setup-uv@v5
66+ - name : Sync
67+ run : uv sync
10568 - name : Install any pre-releases of pystac
106- run : uv pip install --system - U --pre pystac
69+ run : uv pip install -U --pre pystac
10770 - name : Run pytest
108- run : pytest -Werror -s --block-network
71+ run : uv run pytest -Werror -s --block-network
10972
11073 upstream :
11174 name : upstream
11275 runs-on : ubuntu-latest
11376 if : github.event_name != 'pull_request'
11477 steps :
11578 - uses : actions/checkout@v4
116- - uses : actions/setup-python@v5
117- with :
118- python-version : " 3.10"
119- - name : Download uv
120- run : curl -LsSf https://astral.sh/uv/install.sh | sh
121- - name : Install
122- run : uv pip install --system .[dev]
79+ - uses : astral-sh/setup-uv@v5
80+ - name : Sync
81+ run : uv sync
12382 - name : Install pystac from main
124- run : uv pip install --system -- force-reinstall git+https://github.com/stac-utils/pystac.git
83+ run : uv pip install --force-reinstall git+https://github.com/stac-utils/pystac.git
12584 - name : Run pytest
126- run : pytest -Werror -s --block-network
85+ run : uv run pytest -Werror -s --block-network
12786
128- dev-and- docs-requirements :
129- name : dev and docs requirements check
87+ docs :
88+ name : docs
13089 runs-on : ubuntu-latest
13190 steps :
13291 - uses : actions/checkout@v4
133- - uses : actions/setup-python@v5
134- with :
135- python-version : " 3.10"
136- - name : Download uv
137- run : curl -LsSf https://astral.sh/uv/install.sh | sh
138- - name : Install geos
139- run : sudo apt -y install libgeos-dev
140- - name : Install
141- run : uv pip install --system .[dev,docs]
92+ - uses : astral-sh/setup-uv@v5
93+ - name : Build docs
94+ run : ./scripts/build-docs
0 commit comments