[TEST PR] #525
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Python Dependency Tests | |
on: | |
schedule: | |
- cron: '10 2 * * *' | |
pull_request: | |
branches: ['master', 'release-*'] | |
tags: 'v*' | |
# paths where Beam Python's dependencies are configured. | |
paths: ['sdks/python/setup.py', 'sdks/python/pyproject.toml', 'sdks/python/container/base_image_requirements_manual.txt'] | |
# This allows a subsequently queued workflow run to interrupt previous runs | |
concurrency: | |
group: '${{ github.workflow }} @ ${{ github.event.issue.number || github.event.pull_request.head.label || github.sha || github.head_ref || github.ref }}-${{ github.event.schedule || github.event.comment.body || github.event.sender.login}}' | |
cancel-in-progress: true | |
jobs: | |
python_dependency_tests: | |
permissions: | |
issues: write | |
name: 'Python Dependency Tests' | |
runs-on: ${{matrix.os}} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
params: [ | |
{"py_ver": "3.8", "py_env": "py38"}, | |
{"py_ver": "3.9", "py_env": "py39"}, | |
{"py_ver": "3.10", "py_env": "py310" }, | |
{ "py_ver": "3.11", "py_env": "py311" }, | |
] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Install python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.params.py_ver }} | |
- name: Install base_image_requirements.txt | |
working-directory: ./sdks/python | |
run: pip install --no-deps -r container/${{ matrix.params.py_env }}/base_image_requirements.txt | |
# prior to PEP 517, wheel and setuptools were downloaded by default by pip. Now they are installed | |
# in isolated envs during build process and will not be present in the users virtual envs. To | |
# satisy projects that has wheel as a dependency, we need to install it here. | |
- name: Install wheel | |
working-directory: ./sdks/python | |
run: pip install wheel | |
- name: Install Apache Beam | |
working-directory: ./sdks/python | |
run: pip install --no-deps -v -e .[test,gcp,interactive,dataframe,aws,azure] | |
- name: Run pip check | |
run: pip check || (echo "Workflow failed. It can be due to conflicting dependencies or does not include required Beam's dependencies. If Beam dependencies have changed, you need to regenerate base_image_requirements.txt. See https://s.apache.org/beam-python-requirements-generate" && exit 1) |