Skip to content

Commit cd0ce8d

Browse files
authored
Move proto check and test to separate job (#1412)
1 parent 68561ee commit cd0ce8d

1 file changed

Lines changed: 35 additions & 22 deletions

File tree

.github/workflows/ci.yml

Lines changed: 35 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,6 @@ jobs:
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
@@ -85,25 +82,6 @@ jobs:
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

Comments
 (0)