@@ -76,108 +76,24 @@ jobs:
7676 - run : mkdir junit-xml
7777 - run : poe test ${{matrix.pytestExtraArgs}} -s --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml
7878 timeout-minutes : 15
79- # Time skipping doesn't yet support ARM
80- - if : ${{ !endsWith(matrix.os, '-arm') }}
81- run : poe test ${{matrix.pytestExtraArgs}} -s --workflow-environment time-skipping --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}--time-skipping.xml
82- timeout-minutes : 10
83- # Check cloud if proper target and not on fork
84- - if : ${{ matrix.cloudTestTarget && (github.event.pull_request.head.repo.full_name == '' || github.event.pull_request.head.repo.full_name == 'temporalio/sdk-python') }}
85- run : poe test ${{matrix.pytestExtraArgs}} -s -k test_cloud_client --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}--cloud.xml
86- timeout-minutes : 10
87- env :
88- TEMPORAL_CLIENT_CLOUD_API_KEY : ${{ secrets.TEMPORAL_CLIENT_CLOUD_API_KEY }}
89- TEMPORAL_CLIENT_CLOUD_API_VERSION : 2024-05-13-00
90- TEMPORAL_CLIENT_CLOUD_NAMESPACE : sdk-ci.a2dd6
91- - if : ${{ matrix.openaiTestTarget && (github.event.pull_request.head.repo.full_name == '' || github.event.pull_request.head.repo.full_name == 'temporalio/sdk-python') }}
92- run : poe test tests/contrib/openai_agents/test_openai.py ${{matrix.pytestExtraArgs}} -s --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}--openai.xml
93- timeout-minutes : 10
94- env :
95- OPENAI_API_KEY : ${{ secrets.OPENAI_API_KEY }}
79+ - run : poe test ${{matrix.pytestExtraArgs}} -s --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml
80+ timeout-minutes : 15
81+ - run : poe test ${{matrix.pytestExtraArgs}} -s --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml
82+ timeout-minutes : 15
83+ - run : poe test ${{matrix.pytestExtraArgs}} -s --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml
84+ timeout-minutes : 15
85+ - run : poe test ${{matrix.pytestExtraArgs}} -s --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml
86+ timeout-minutes : 15
87+ - run : poe test ${{matrix.pytestExtraArgs}} -s --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml
88+ timeout-minutes : 15
89+ - run : poe test ${{matrix.pytestExtraArgs}} -s --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml
90+ timeout-minutes : 15
91+ - run : poe test ${{matrix.pytestExtraArgs}} -s --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml
92+ timeout-minutes : 15
9693 - name : " Upload junit-xml artifacts"
9794 uses : actions/upload-artifact@v4
9895 if : always()
9996 with :
10097 name : junit-xml--${{github.run_id}}--${{github.run_attempt}}--${{ matrix.python }}--${{ matrix.os }}
10198 path : junit-xml
10299 retention-days : 14
103-
104- # Confirm protos are already generated properly with older protobuf
105- # library and run test with that older version. We must downgrade protobuf
106- # so we can generate 3.x and 4.x compatible API. We have to use older
107- # Python to run this check because the grpcio-tools version we use
108- # is <= 3.10.
109- - name : Check generated protos and test protobuf 3.x
110- if : ${{ matrix.protoCheckTarget }}
111- env :
112- TEMPORAL_TEST_PROTO3 : 1
113- run : |
114- uv add --python 3.9 "protobuf<4"
115- uv sync --all-extras
116- poe build-develop
117- poe gen-protos
118- poe format
119- [[ -z $(git status --porcelain temporalio) ]] || (git diff temporalio; echo "Protos changed"; exit 1)
120- poe test -s
121- timeout-minutes : 10
122-
123- # Do docs stuff (only on one host)
124- - name : Build API docs
125- if : ${{ matrix.docsTarget }}
126- run : poe gen-docs
127- - name : Deploy prod API docs
128- if : ${{ github.ref == 'refs/heads/main' && matrix.docsTarget }}
129- env :
130- VERCEL_ORG_ID : ${{ secrets.VERCEL_ORG_ID }}
131- VERCEL_PROJECT_ID : ${{ secrets.VERCEL_PROJECT_ID }}
132- run : npx vercel deploy build/apidocs -t ${{ secrets.VERCEL_TOKEN }} --prod --yes
133-
134- # Confirm README ToC is generated properly
135- - uses : actions/setup-node@v4
136- - name : Check generated README ToC
137- if : ${{ matrix.docsTarget }}
138- run : |
139- npx doctoc README.md
140- [[ -z $(git status --porcelain README.md) ]] || (git diff README.md; echo "README changed"; exit 1)
141- test-latest-deps :
142- timeout-minutes : 30
143- runs-on : ubuntu-latest
144- steps :
145- - uses : actions/checkout@v4
146- with :
147- submodules : recursive
148- - uses : dtolnay/rust-toolchain@stable
149- - uses : Swatinem/rust-cache@v2
150- with :
151- workspaces : temporalio/bridge -> target
152- - uses : actions/setup-python@v5
153- with :
154- python-version : " 3.13"
155- - uses : arduino/setup-protoc@v3
156- with :
157- # TODO(cretz): Can upgrade proto when https://github.com/arduino/setup-protoc/issues/99 fixed
158- version : " 23.x"
159- repo-token : ${{ secrets.GITHUB_TOKEN }}
160- - uses : astral-sh/setup-uv@v5
161- - run : uv tool install poethepoet
162- - run : uv lock --upgrade
163- - run : uv sync --all-extras
164- - run : poe lint
165- - run : poe build-develop
166- - run : mkdir junit-xml
167- - run : poe test -s --junit-xml=junit-xml/latest-deps.xml
168- timeout-minutes : 10
169- - name : " Upload junit-xml artifacts"
170- uses : actions/upload-artifact@v4
171- if : always()
172- with :
173- name : junit-xml--${{github.run_id}}--${{github.run_attempt}}--latest-deps--time-skipping
174- path : junit-xml
175- retention-days : 14
176-
177- # Runs the sdk features repo tests with this repo's current SDK code
178- features-tests :
179- uses : temporalio/features/.github/workflows/python.yaml@main
180- with :
181- python-repo-path : ${{github.event.pull_request.head.repo.full_name}}
182- version : ${{github.event.pull_request.head.ref}}
183- version-is-repo-ref : true
0 commit comments