Skip to content

Commit eb3107f

Browse files
authored
Migrate from PDM to UV (#4185)
1 parent 5e64f48 commit eb3107f

File tree

8 files changed

+2641
-3120
lines changed

8 files changed

+2641
-3120
lines changed

.github/workflows/backend-checks.yml

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,19 @@ jobs:
1919
- uses: actions/setup-python@v5
2020
with:
2121
python-version: "3.11.6"
22-
- run: pip install pdm==2.10.4
23-
24-
- name: Cache PDM
25-
uses: actions/cache@v4
26-
id: cache-deps
22+
- name: Install uv
23+
uses: astral-sh/setup-uv@v4
24+
id: setup-uv
2725
with:
28-
path: backend/.venv
29-
key: pdm-${{ hashFiles('**/pdm.lock') }}-2
26+
version: "0.5.5"
27+
enable-cache: true
3028

3129
- name: Install python dependencies
32-
if: steps.cache-deps.outputs.cache-hit != 'true'
33-
run: pdm install
30+
if: steps.setup-uv.outputs.cache-hit != 'true'
31+
run: uv sync
3432

3533
- name: Check missing not pushed migrations
36-
run: pdm run python manage.py makemigrations --check
34+
run: uv run python manage.py makemigrations --check
3735
env:
3836
DJANGO_SETTINGS_MODULE: pycon.settings.test
3937
STRIPE_SECRET_API_KEY: ""

.github/workflows/backend-test.yml

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,24 +39,23 @@ jobs:
3939
- uses: actions/setup-python@v5
4040
with:
4141
python-version: "3.11.6"
42-
- run: pip install pdm==2.10.4 codecov
43-
44-
- name: Cache PDM
45-
uses: actions/cache@v4
46-
id: cache-deps
42+
- name: Install uv
43+
uses: astral-sh/setup-uv@v4
44+
id: setup-uv
4745
with:
48-
path: backend/.venv
49-
key: pdm-${{ hashFiles('**/pdm.lock') }}-1
46+
version: "0.5.5"
47+
enable-cache: true
48+
- run: pip install codecov
5049

5150
- name: Install python dependencies
52-
if: steps.cache-deps.outputs.cache-hit != 'true'
53-
run: pdm install
51+
if: steps.setup-uv.outputs.cache-hit != 'true'
52+
run: uv sync
5453

5554
- name: pytest
5655
run: |
5756
set +e
5857
CPUS=$(nproc --all)
59-
OUTPUT=$(pdm run pytest --cov-report xml --cov=. --cov-fail-under 80 --durations 10 -n $CPUS)
58+
OUTPUT=$(uv run pytest --cov-report xml --cov=. --cov-fail-under 80 --durations 10 -n $CPUS)
6059
STATUS=$?
6160
echo "$OUTPUT"
6261
cd ..

Dockerfile.python.local

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@ ARG FUNCTION_DIR
99
RUN mkdir -p ${FUNCTION_DIR}
1010
WORKDIR ${FUNCTION_DIR}
1111

12-
RUN pip install pdm==2.12.4
13-
14-
COPY pyproject.toml pdm.lock ${FUNCTION_DIR}
12+
RUN pip install uv==0.5.5
1513

1614
RUN mkdir -p ${FUNCTION_DIR}/assets
1715

backend/Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ RUN apt-get update -y && apt-get install -y \
1717

1818
ENV LIBRARY_PATH=/lib:/usr/lib
1919

20-
RUN pip install pdm==2.10.4
20+
RUN pip install uv==0.5.5
2121

2222
ARG TARGETPLATFORM
2323

@@ -78,9 +78,9 @@ RUN if [ "$TARGETPLATFORM" = "linux/arm64" ]; then \
7878
fi
7979

8080

81-
COPY pyproject.toml pdm.lock ${FUNCTION_DIR}
81+
COPY pyproject.toml uv.lock ${FUNCTION_DIR}
8282

83-
RUN pdm install --prod --group lambda
83+
RUN uv sync --no-dev
8484

8585
# Create GraphQL schema
8686

0 commit comments

Comments
 (0)