-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Open
Description
What happened?
Looking at workflow file:
| PYTEST_ADDOPTS: "-v --tb=short --maxfail=5 --durations=30 --reruns=5 --reruns-delay=15 --timeout=600 --disable-warnings" |
It seems that we enabled a retry setting for pytest. However, when looking at the log (e.g. https://github.com/apache/beam/actions/runs/20010300018/job/57378762026), I don't see the option is effective. Particularly, the retry setting needs pytest plugin pytest-rerunfailures, but I could not see that in our plugin list below.
py310-cloud: commands[1]> bash /runner/_work/beam/beam/sdks/python/test-suites/tox/py310/build/srcs/sdks/python/scripts/run_pytest.sh py310-cloud ''"'"'--ignore=apache_beam/dataframe/ --ignore=apache_beam/ml/ --ignore=apache_beam/examples/ --ignore=apache_beam/runners/ --ignore=apache_beam/transforms/'"'"''
pytest_args:
posargs: --ignore=apache_beam/dataframe/ --ignore=apache_beam/ml/ --ignore=apache_beam/examples/ --ignore=apache_beam/runners/ --ignore=apache_beam/transforms/
Running parallel tests with: pytest -m "not no_xdist" --ignore=apache_beam/dataframe/ --ignore=apache_beam/ml/ --ignore=apache_beam/examples/ --ignore=apache_beam/runners/ --ignore=apache_beam/transforms/
--- Applying global testcontainers timeout configuration ---
Successfully set waiting utils config
============================= test session starts ==============================
platform linux -- Python 3.10.17, pytest-8.4.2, pluggy-1.6.0 -- /runner/_work/beam/beam/sdks/python/test-suites/tox/py310/build/srcs/sdks/python/target/.tox-py310-cloud/py310-cloud/bin/python
cachedir: target/.tox-py310-cloud/py310-cloud/.pytest_cache
hypothesis profile 'ci' -> database=None, deadline=None, print_blob=True, derandomize=True, suppress_health_check=(HealthCheck.too_slow,)
rootdir: /runner/_work/beam/beam/sdks/python/test-suites/tox/py310/build/srcs/sdks/python
configfile: pytest.ini
plugins: requests-mock-1.12.1, hypothesis-6.148.3, anyio-4.12.0, xdist-3.8.0, timeout-2.4.0 <-------- no "retryfailures" plugin
timeout: 600.0s
timeout method: signal
timeout func_only: False
created: 6/6 workers
6 workers [4105 items]
In addition, I can confirm that the environment variable PYTEST_ADDOPTS has no effect in the execution, because if it had, pytest should have reported an error of parsing --reruns parameter in the absence of rerunfailures plugin.
Issue Priority
Priority: 2 (default / most bugs should be filed as P2)
Issue Components
- Component: Python SDK
- Component: Java SDK
- Component: Go SDK
- Component: Typescript SDK
- Component: IO connector
- Component: Beam YAML
- Component: Beam examples
- Component: Beam playground
- Component: Beam katas
- Component: Website
- Component: Infrastructure
- Component: Spark Runner
- Component: Flink Runner
- Component: Samza Runner
- Component: Twister2 Runner
- Component: Hazelcast Jet Runner
- Component: Google Cloud Dataflow Runner