Skip to content

Commit 97ea58a

Browse files
vgvolegYaroslav Leonov
and
Yaroslav Leonov
committed
preparations to protobuf 5 compat
Co-authored-by: Yaroslav Leonov <[email protected]>
1 parent ce321ae commit 97ea58a

File tree

5 files changed

+29
-13
lines changed

5 files changed

+29
-13
lines changed

.github/workflows/tests.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ jobs:
1818
fail-fast: false
1919
matrix:
2020
python-version: [3.8]
21-
environment: [py, py-tls, py-proto3, py-tls-proto3]
21+
environment: [py-proto4, py-tls-proto4, py-proto3, py-tls-proto3]
2222
folder: [ydb, tests]
2323
exclude:
24-
- environment: py-tls
24+
- environment: py-tls-proto4
2525
folder: ydb
2626
- environment: py-tls-proto3
2727
folder: ydb

Makefile

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
1-
protobuf: protobuf-3 protobuf-4
1+
protobuf: protobuf-3 protobuf-4 protobuf-5
22

33
protobuf-3:
44
docker build -f generate-protobuf.Dockerfile . -t ydb-python-sdk-proto-generator-env-3 --build-arg GRPCIO_VER=1.39.0 --build-arg PY_PROTOBUF_VER=3.20.3
55
docker run --rm -it -v $${PWD}:$${PWD} -w $${PWD} ydb-python-sdk-proto-generator-env-3 python generate_protoc.py --target-version=v3
66

77
protobuf-4:
88
docker build -f generate-protobuf.Dockerfile . -t ydb-python-sdk-proto-generator-env-4
9-
docker run --rm -it -v $${PWD}:$${PWD} -w $${PWD} ydb-python-sdk-proto-generator-env-4 python generate_protoc.py
9+
docker run --rm -it -v $${PWD}:$${PWD} -w $${PWD} ydb-python-sdk-proto-generator-env-4 python generate_protoc.py --target-version=v4
10+
11+
protobuf-5:
12+
docker build -f generate-protobuf.Dockerfile . -t ydb-python-sdk-proto-generator-env-5 --build-arg PY_PROTOBUF_VER=5.26.1 --build-arg PROTOC_VER=26.1
13+
docker run --rm -it -v $${PWD}:$${PWD} -w $${PWD} ydb-python-sdk-proto-generator-env-5 python generate_protoc.py --target-version=v5

generate-protobuf.Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ RUN \
99
python -m pip install grpcio-tools==${GRPCIO_VER} && \
1010
python -m pip install protobuf==${PY_PROTOBUF_VER}
1111

12-
ENV PROTOC_VER=21.8
12+
ARG PROTOC_VER=21.8
1313
RUN wget https://github.com/protocolbuffers/protobuf/releases/download/v${PROTOC_VER}/protoc-${PROTOC_VER}-linux-x86_64.zip && \
1414
unzip protoc-*.zip && \
1515
rm -f protoc-*.zip && \

requirements.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
grpcio>=1.42.0
22
packaging
3-
protobuf>=3.13.0,<5.0.0
3+
protobuf>=3.13.0,<6.0.0
44
aiohttp<4

tox.ini

+19-7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[tox]
2-
envlist = py,py-proto3,py-tls,py-tls-proto3,style,pylint,black,protoc,py-cov
2+
envlist = py-proto4,py-proto3,py-tls-proto4,py-tls-proto3,style,pylint,black,protoc,py-cov
33
minversion = 4.2.6
44
skipsdist = True
55
ignore_basepython_conflict = true
@@ -12,24 +12,33 @@ setenv =
1212
deps =
1313
-r{toxinidir}/test-requirements.txt
1414

15-
[testenv:dev]
15+
[testenv:dev-proto4]
1616
commands =
17+
deps =
18+
-r{toxinidir}/test-requirements.txt
19+
protobuf<5.0.0
1720

1821
[testenv:dev-proto3]
1922
commands =
2023
deps =
2124
-r{toxinidir}/test-requirements.txt
2225
protobuf<4.0.0
2326

24-
[testenv:py]
27+
[testenv:py-proto4]
2528
commands =
2629
pytest -v -m "not tls" --docker-compose-remove-volumes --docker-compose=docker-compose.yml {posargs}
30+
deps =
31+
-r{toxinidir}/test-requirements.txt
32+
protobuf<5.0.0
2733

28-
[testenv:py-cov]
34+
[testenv:py-cov-proto4]
2935
commands =
3036
pytest -v -m "not tls" \
3137
--cov-report html:cov_html --cov=ydb \
3238
--docker-compose-remove-volumes --docker-compose=docker-compose.yml {posargs}
39+
deps =
40+
-r{toxinidir}/test-requirements.txt
41+
protobuf<5.0.0
3342

3443
[testenv:py-proto3]
3544
commands =
@@ -38,9 +47,12 @@ deps =
3847
-r{toxinidir}/test-requirements.txt
3948
protobuf<4.0.0
4049

41-
[testenv:py-tls]
50+
[testenv:py-tls-proto4]
4251
commands =
4352
pytest -v -m tls --docker-compose-remove-volumes --docker-compose=docker-compose-tls.yml {posargs}
53+
deps =
54+
-r{toxinidir}/test-requirements.txt
55+
protobuf<5.0.0
4456

4557
[testenv:py-tls-proto3]
4658
commands =
@@ -52,12 +64,12 @@ deps =
5264
[testenv:black-format]
5365
skip_install = true
5466
commands =
55-
black ydb examples tests --extend-exclude "ydb/_grpc/v3|ydb/_grpc/v4"
67+
black ydb examples tests --extend-exclude "ydb/_grpc/v3|ydb/_grpc/v4|ydb/_grpc/v5"
5668

5769
[testenv:black]
5870
skip_install = true
5971
commands =
60-
black --diff --check ydb examples tests --extend-exclude "ydb/_grpc/v3|ydb/_grpc/v4"
72+
black --diff --check ydb examples tests --extend-exclude "ydb/_grpc/v3|ydb/_grpc/v4|ydb/_grpc/v5"
6173

6274
[testenv:pylint]
6375
deps = pylint

0 commit comments

Comments
 (0)