This is an automated email from the ASF dual-hosted git repository. github-merge-queue[bot] pushed a commit to branch gh-readonly-queue/dev/pr-12857-03f3f3e73a0db2835a682ee04f464c66503ba6ea in repository https://gitbox.apache.org/repos/asf/seatunnel.git
commit 3e71278e543adb7017bfb1a300b0f352486a75f7 Author: Karthik Thota <[email protected]> AuthorDate: Mon Oct 19 13:10:42 2026 +0000 [Improve][CI] Run the seatunnel-python-sdk test suite in CI (#12857) --- .github/workflows/python-sdk.yml | 74 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/.github/workflows/python-sdk.yml b/.github/workflows/python-sdk.yml new file mode 100644 index 0000000000..68cc653f66 --- /dev/null +++ b/.github/workflows/python-sdk.yml @@ -0,0 +1,74 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the 'License'); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an 'AS IS' BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +name: SeaTunnel Python SDK + +on: + push: + branches: + - dev + paths: + - 'tools/seatunnel-python-sdk/**' + - '.github/workflows/python-sdk.yml' + pull_request: + paths: + - 'tools/seatunnel-python-sdk/**' + - '.github/workflows/python-sdk.yml' + +permissions: + contents: read + +concurrency: + group: python-sdk-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +defaults: + run: + working-directory: tools/seatunnel-python-sdk + +jobs: + test: + name: Test with Python ${{ matrix.python-version }} + runs-on: ubuntu-latest + timeout-minutes: 15 + + strategy: + fail-fast: false + matrix: + # The floor declared by python_requires in setup.py and a current release, so a PR + # cannot silently rely on a syntax or standard library feature outside that range. + python-version: [ '3.9', '3.13' ] + + steps: + - uses: actions/checkout@v4 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + cache: pip + cache-dependency-path: tools/seatunnel-python-sdk/setup.py + + - name: Install seatunnel-python-sdk and pytest + run: | + python -m pip install --upgrade pip + python -m pip install -e . pytest + + - name: Run tests + # The suite mocks HTTP calls and `java -version`, so it needs no running engine, + # no JDK and no network. + run: python -m pytest tests -v
