@@ -42,30 +42,15 @@ jobs:
4242        with :
4343          python-version : ${{ matrix.python }} 
4444
45-       - name : Upgrade pip 
46-         run : | 
47-           pip install -c ${{ github.workspace }}/.github/workflows/constraints.txt pip 
48-           pip --version 
49- 
50-        - name : Upgrade pip in virtual environments 
51-         shell : python 
52-         run : | 
53-           import os 
54-           import pip 
55- 
56-           with open(os.environ["GITHUB_ENV"], mode="a") as io: 
57-               print(f"VIRTUALENV_PIP={pip.__version__}", file=io) 
58- 
59-        - name : Install Poetry 
60-         run : | 
61-           pipx install --pip-args="-c ${{ github.workspace }}/.github/workflows/constraints-poetry.txt" poetry 
62-           pipx inject poetry poetry-plugin-export 
63-           poetry --version 
45+       - name : Install the pinned version of uv 
46+         uses : astral-sh/setup-uv@v5 
47+         with :
48+           python-version : ${{ matrix.python }} 
49+           pyproject-file : ${{ github.workspace }}/pyproject.toml 
6450
6551      - name : Install Nox 
6652        run : | 
67-           pipx install --pip-args="-c ${{ github.workspace }}/.github/workflows/constraints.txt" nox 
68-           pipx inject --pip-args="-c ${{ github.workspace }}/.github/workflows/constraints.txt" nox nox-poetry 
53+           uv tool install -c "${{ github.workspace }}/.github/workflows/constraints.txt" nox 
6954          nox --version 
7055
7156       - name : Compute pre-commit cache key 
@@ -75,13 +60,14 @@ jobs:
7560        run : | 
7661          import hashlib 
7762          import sys 
63+           import os 
7864
7965          python = "py{}.{}".format(*sys.version_info[:2]) 
8066          payload = sys.version.encode() + sys.executable.encode() 
8167          digest = hashlib.sha256(payload).hexdigest() 
8268          result = "${{ runner.os }}-{}-{}-pre-commit".format(python, digest[:8]) 
8369
84-           print("::set-output name= result:: {}".format(result)) 
70+           print("result= {}".format(result), file=open(os.environ['GITHUB_OUTPUT'], 'a' )) 
8571
8672       - name : Restore pre-commit cache 
8773        uses : actions/cache@v4 
@@ -118,26 +104,15 @@ jobs:
118104      - name : Check out the repository 
119105        uses : actions/checkout@v4 
120106
121-       - name : Set up Python 
122-         uses : actions /setup-python @v5
107+       - name : Install the pinned version of uv 
108+         uses : astral-sh /setup-uv @v5
123109        with :
124-           python-version : " 3.12" 
125- 
126-       - name : Upgrade pip 
127-         run : | 
128-           pip install -c ${{ github.workspace }}/.github/workflows/constraints.txt pip 
129-           pip --version 
130- 
131-        - name : Install Poetry 
132-         run : | 
133-           pipx install --pip-args="-c ${{ github.workspace }}/.github/workflows/constraints-poetry.txt" poetry 
134-           pipx inject poetry poetry-plugin-export 
135-           poetry --version 
110+           python-version : 3.13 
111+           pyproject-file : " ${{ github.workspace }}/pyproject.toml" 
136112
137113      - name : Install Nox 
138114        run : | 
139-           pipx install --pip-args="-c ${{ github.workspace }}/.github/workflows/constraints.txt" nox 
140-           pipx inject --pip-args="-c ${{ github.workspace }}/.github/workflows/constraints.txt" nox nox-poetry 
115+           uv tool install -c "${{ github.workspace }}/.github/workflows/constraints.txt" nox 
141116          nox --version 
142117
143118       - name : Download coverage data 
@@ -155,6 +130,6 @@ jobs:
155130          nox --session=coverage -- xml 
156131
157132       - name : Upload coverage report 
158-         uses : codecov/codecov-action@v5 
133+         uses : codecov/codecov-action@v5.1.2  
159134        env :
160135          CODECOV_TOKEN : ${{ secrets.CODECOV_TOKEN }} 
0 commit comments