@@ -17,85 +17,24 @@ permissions:
1717 contents : read
1818jobs :
1919 test-pydgraph-dgraph-latest :
20- name : Test (Python ${{ matrix.python-version }} / DGraph Latest)
21- runs-on : ubuntu-latest
22- strategy :
23- matrix :
24- python-version : ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
25- steps :
26- - name : Checkout pydgraph
27- uses : actions/checkout@v5
28- with :
29- repository : dgraph-io/pydgraph
30- ref : ${{ github.ref }}
31- - name : Setup python runtime and tooling
32- uses : ./.github/actions/setup-python-and-tooling
33- with :
34- python-version : ${{ matrix.python-version }}
35- - name : Pin python version
36- run : uv python pin ${{ matrix.python-version }}
37- - name : Setup project dependencies
38- run : INSTALL_MISSING_TOOLS=true make setup
39- - name : Sync python virtualenv
40- run : make sync
41- - name : Run tests
42- run : make test
43- test-pydgraph-dgraph-head :
44- name : Test Pydgraph (Python ${{ matrix.python-version }} / DGraph HEAD)
45- runs-on : ubuntu-latest
46- strategy :
47- matrix :
48- python-version : ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
49- steps :
50- - name : Checkout Dgraph main latest
51- uses : actions/checkout@v5
52- with :
53- path : dgraph
54- repository : dgraph-io/dgraph
55- ref : main
56- - name : Setup Go
57- uses : actions/setup-go@v6
58- with :
59- go-version-file : dgraph/go.mod
60- - name : Build dgraph binary
61- working-directory : ./dgraph
62- run : make docker-image # also builds dgraph binary
63- - name : Install dgraph binary
64- working-directory : ./dgraph
65- run : mv dgraph/dgraph ~/go/bin/dgraph
66- - name : Checkout pydgraph
67- uses : actions/checkout@v5
68- with :
69- path : pydgraph
70- repository : dgraph-io/pydgraph
71- ref : ${{ github.ref }}
72- - name : Setup python runtime and tooling
73- uses : ./pydgraph/.github/actions/setup-python-and-tooling
74- with :
75- python-version : ${{ matrix.python-version }}
76- - name : Pin python version
77- working-directory : ./pydgraph
78- run : uv python pin ${{ matrix.python-version }}
79- - name : Setup project dependencies
80- working-directory : ./pydgraph
81- run : INSTALL_MISSING_TOOLS=true make setup
82- - name : Sync python virtualenv
83- working-directory : ./pydgraph
84- run : make sync
85- - name : Run tests
86- working-directory : ./pydgraph
87- run : DGRAPH_IMAGE_TAG=local make test
88- test-pydgraph-protobuf-compat-dgraph-latest :
8920 name :
90- Test Pydgraph (Python ${{ matrix.python-version }} / ${{ matrix.protobuf-version }} / DGraph
91- Latest)
21+ Test (Python ${{ matrix.python-version }}${{ matrix.protobuf-version && format(' / {0}',
22+ matrix.protobuf-version) || '' }} / DGraph Latest)
9223 runs-on : ubuntu-latest
9324 strategy :
9425 matrix :
95- python-version : ["3.9", "3.14"]
96- protobuf-version :
97- - protobuf>=4.23.0,<5.0.0
98- - protobuf>=5.0.0,<6.0.0
26+ python-version : ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
27+ protobuf-version : [""]
28+ include :
29+ # Test older protobuf versions only on edge Python versions
30+ - python-version : " 3.9"
31+ protobuf-version : protobuf>=4.23.0,<5.0.0
32+ - python-version : " 3.9"
33+ protobuf-version : protobuf>=5.0.0,<6.0.0
34+ - python-version : " 3.14"
35+ protobuf-version : protobuf>=4.23.0,<5.0.0
36+ - python-version : " 3.14"
37+ protobuf-version : protobuf>=5.0.0,<6.0.0
9938 steps :
10039 - name : Checkout pydgraph
10140 uses : actions/checkout@v5
@@ -113,20 +52,29 @@ jobs:
11352 - name : Sync python virtualenv
11453 run : make sync
11554 - name : Install specific protobuf version
55+ if : matrix.protobuf-version != ''
11656 run : uv pip install "${{ matrix.protobuf-version }}"
11757 - name : Run tests
11858 run : make test
119- test-pydgraph-protobuf-compat- dgraph-head :
59+ test-pydgraph-dgraph-head :
12060 name :
121- Test Pydgraph (Python ${{ matrix.python-version }} / ${{ matrix.protobuf-version }} / DGraph
122- HEAD)
61+ Test Pydgraph (Python ${{ matrix.python-version }}${{ matrix.protobuf-version && format(' /
62+ {0}', matrix.protobuf-version) || '' }} / DGraph HEAD)
12363 runs-on : ubuntu-latest
12464 strategy :
12565 matrix :
126- python-version : ["3.9", "3.14"]
127- protobuf-version :
128- - protobuf>=4.23.0,<5.0.0
129- - protobuf>=5.0.0,<6.0.0
66+ python-version : ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
67+ protobuf-version : [""]
68+ include :
69+ # Test older protobuf versions only on edge Python versions
70+ - python-version : " 3.9"
71+ protobuf-version : protobuf>=4.23.0,<5.0.0
72+ - python-version : " 3.9"
73+ protobuf-version : protobuf>=5.0.0,<6.0.0
74+ - python-version : " 3.14"
75+ protobuf-version : protobuf>=4.23.0,<5.0.0
76+ - python-version : " 3.14"
77+ protobuf-version : protobuf>=5.0.0,<6.0.0
13078 steps :
13179 - name : Checkout Dgraph main latest
13280 uses : actions/checkout@v5
14088 go-version-file : dgraph/go.mod
14189 - name : Build dgraph binary
14290 working-directory : ./dgraph
143- run : make docker-image
91+ run : make docker-image # also builds dgraph binary
14492 - name : Install dgraph binary
14593 working-directory : ./dgraph
14694 run : mv dgraph/dgraph ~/go/bin/dgraph
@@ -164,6 +112,7 @@ jobs:
164112 working-directory : ./pydgraph
165113 run : make sync
166114 - name : Install specific protobuf version
115+ if : matrix.protobuf-version != ''
167116 working-directory : ./pydgraph
168117 run : uv pip install "${{ matrix.protobuf-version }}"
169118 - name : Run tests
0 commit comments