This is an automated email from the ASF dual-hosted git repository. pabloem pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/beam.git
The following commit(s) were added to refs/heads/master by this push: new 4f1dcfb224d Dask runner tests action (#24324) 4f1dcfb224d is described below commit 4f1dcfb224dc398e6d29530b1bb811bbc688c1d3 Author: Pablo Estrada <pabl...@users.noreply.github.com> AuthorDate: Tue Nov 22 19:44:15 2022 -0800 Dask runner tests action (#24324) --- .github/workflows/dask_runner_tests.yml | 104 ++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) diff --git a/.github/workflows/dask_runner_tests.yml b/.github/workflows/dask_runner_tests.yml new file mode 100644 index 00000000000..382437c0c9a --- /dev/null +++ b/.github/workflows/dask_runner_tests.yml @@ -0,0 +1,104 @@ +# 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. + +# To learn more about GitHub Actions in Apache Beam check the CI.md + +name: Dask Runner Tests + +on: + schedule: + - cron: 'H H * * *' + pull_request: + branches: ['master', 'release-*'] + tags: 'v*' + paths: ['sdks/python/apache_beam/runners/dask/**'] + +# This allows a subsequently queued workflow run to interrupt previous runs +concurrency: + group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' + cancel-in-progress: true + +jobs: + + build_python_sdk_source: + name: 'Build python source distribution' + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + - name: Install python + uses: actions/setup-python@v4 + with: + python-version: 3.7 + - name: Get build dependencies + working-directory: ./sdks/python + run: pip install pip setuptools --upgrade && pip install -r build-requirements.txt + - name: Build source + working-directory: ./sdks/python + run: python setup.py sdist + - name: Rename source file + working-directory: ./sdks/python/dist + run: mv $(ls | grep "apache-beam.*tar\.gz") apache-beam-source.tar.gz + - name: Upload compressed sources as artifacts + uses: actions/upload-artifact@v3 + with: + name: python_sdk_source + path: sdks/python/dist/apache-beam-source.tar.gz + + python_unit_tests: + name: 'Python Unit Tests' + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + params: [ + {"py_ver": "3.7", "tox_env": "py37"}, + {"py_ver": "3.8", "tox_env": "py38"}, + {"py_ver": "3.9", "tox_env": "py39"}, + {"py_ver": "3.10", "tox_env": "py310" }, + ] + steps: + - name: Checkout code + uses: actions/checkout@v3 + - name: Install python + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.params.py_ver }} + - name: Get build dependencies + working-directory: ./sdks/python + run: pip install -r build-requirements.txt + - name: Install tox + run: pip install tox + - name: Install SDK with dask + working-directory: ./sdks/python + run: pip install setuptools --upgrade && pip install -e .[gcp,dask,test] + - name: Run tests basic unix + if: startsWith(matrix.os, 'ubuntu') || startsWith(matrix.os, 'macos') + working-directory: ./sdks/python + run: tox -c tox.ini -e ${{ matrix.params.tox_env }}-dask + - name: Run tests basic windows + if: startsWith(matrix.os, 'windows') + working-directory: ./sdks/python + run: tox -c tox.ini -e ${{ matrix.params.tox_env }}-win-dask + - name: Upload test logs + uses: actions/upload-artifact@v3 + if: always() + with: + name: pytest-${{matrix.os}}-${{matrix.params.py_ver}} + path: sdks/python/pytest**.xml +