2828 docsTarget : true
2929 openaiTestTarget : true
3030 clippyLinter : true
31- - os : ubuntu-latest
32- python : " 3.10"
33- protoCheckTarget : true
3431 - python : " 3.10"
3532 pytestExtraArgs : " --reruns 3 --only-rerun \" RuntimeError: Failed validating workflow\" "
3633 - os : ubuntu-arm
8582 path : junit-xml
8683 retention-days : 14
8784
88- # Confirm protos are already generated properly with older protobuf
89- # library and run test with that older version. We must downgrade protobuf
90- # so we can generate 3.x and 4.x compatible API. We have to use older
91- # Python to run this check because the grpcio-tools version we use
92- # is <= 3.10.
93- - name : Check generated protos and test protobuf 3.x
94- if : ${{ matrix.protoCheckTarget }}
95- env :
96- TEMPORAL_TEST_PROTO3 : 1
97- run : |
98- uv remove google-adk --optional google-adk
99- uv add --python 3.10 "protobuf<4"
100- uv sync --all-extras
101- poe build-develop
102- poe gen-protos
103- [[ -z $(git status --porcelain temporalio) ]] || (git diff temporalio; echo "Protos changed"; exit 1)
104- poe test -s --ignore=tests/contrib/google_adk_agents/
105- timeout-minutes : 10
106-
10785 # Do docs stuff (only on one host)
10886 - name : Build API docs
10987 if : ${{ matrix.docsTarget }}
@@ -122,6 +100,41 @@ jobs:
122100 run : |
123101 npx doctoc README.md
124102 [[ -z $(git status --porcelain README.md) ]] || (git diff README.md; echo "README changed"; exit 1)
103+
104+ check-protos :
105+ timeout-minutes : 30
106+ runs-on : ubuntu-latest
107+ steps :
108+ - uses : actions/checkout@v4
109+ with :
110+ submodules : recursive
111+ - uses : dtolnay/rust-toolchain@stable
112+ - uses : Swatinem/rust-cache@v2
113+ with :
114+ workspaces : temporalio/bridge -> target
115+ - uses : actions/setup-python@v5
116+ with :
117+ python-version : " 3.10"
118+ - uses : arduino/setup-protoc@v3
119+ with :
120+ # TODO(cretz): Can upgrade proto when https://github.com/arduino/setup-protoc/issues/99 fixed
121+ version : " 23.x"
122+ repo-token : ${{ secrets.GITHUB_TOKEN }}
123+ - uses : astral-sh/setup-uv@v5
124+ - run : uv tool install poethepoet
125+ - run : uv remove google-adk --optional google-adk
126+ - run : uv add --python 3.10 "protobuf<4"
127+ - run : uv sync --all-extras
128+ - run : poe build-develop
129+ - run : poe gen-protos
130+ - name : Check generation unchanged
131+ run : |
132+ [[ -z $(git status --porcelain temporalio) ]] || (git diff temporalio; echo "Protos changed"; exit 1)
133+ - name : Test with protobuf 3.x
134+ run : poe test -s --ignore=tests/contrib/google_adk_agents/
135+ env :
136+ TEMPORAL_TEST_PROTO3 : 1
137+
125138 test-latest-deps :
126139 timeout-minutes : 30
127140 runs-on : ubuntu-latest
0 commit comments