Pre-flight checklist
Describe the bug
CI pipeline tests fail because Prefect’s ephemeral API server cannot start. During Prefect server startup, an import error occurs in docket/_redis.py when it tries to import FakeConnection from fakeredis.aioredis. This prevents the temporary Prefect server from starting and causes multiple ETL tests to time out waiting for the server.
Failing job: https://github.com/sustainability-software-lab/ca-biositing/actions/runs/24216580561/job/70698468981
Steps to reproduce
Checkout the repo at commit d961724.
Create the pixi environment (py312 or py313) and install dependencies:
pixi install -e py312 (or pixi install -e py313)
Run the pipeline tests:
pixi run pytest src/ca_biositing/pipeline
Expected behavior
Prefect’s ephemeral API server starts successfully during the test run, and the ETL tests complete without timing out.
Relevant log output / screenshots
ImportError: cannot import name 'FakeConnection' from 'fakeredis.aioredis'
(/home/runner/work/ca-biositing/ca-biositing/.pixi/envs/default/lib/python3.12/site-packages/fakeredis/aioredis.py).
Did you mean: '_connection'?
...
FAILED src/ca_biositing/pipeline/tests/test_fermentation_etl.py::test_fermentation_etl_full
- RuntimeError: Timed out while attempting to connect to ephemeral Prefect API server.
FAILED src/ca_biositing/pipeline/tests/test_new_analysis_etl.py::test_xrf_etl_full
- RuntimeError: Timed out while attempting to connect to ephemeral Prefect API server.
FAILED src/ca_biositing/pipeline/tests/test_new_analysis_etl.py::test_calorimetry_etl_full
- RuntimeError: Timed out while attempting to connect to ephemeral Prefect API server.
FAILED src/ca_biositing/pipeline/tests/test_new_analysis_etl.py::test_xrd_etl_full
- RuntimeError: Timed out while attempting to connect to ephemeral Prefect API server.
FAILED src/ca_biositing/pipeline/tests/test_pretreatment_etl.py::test_pretreatment_etl_full
- RuntimeError: Timed out while attempting to connect to ephemeral Prefect API server.
Software version
unsure
Environment
Other (specify below)
Other environment details
issue specifically with GitHub Actions spun-up machine
Pre-flight checklist
Describe the bug
CI pipeline tests fail because Prefect’s ephemeral API server cannot start. During Prefect server startup, an import error occurs in docket/_redis.py when it tries to import FakeConnection from fakeredis.aioredis. This prevents the temporary Prefect server from starting and causes multiple ETL tests to time out waiting for the server.
Failing job: https://github.com/sustainability-software-lab/ca-biositing/actions/runs/24216580561/job/70698468981
Steps to reproduce
Checkout the repo at commit d961724.
Create the pixi environment (py312 or py313) and install dependencies:
pixi install -e py312 (or pixi install -e py313)
Run the pipeline tests:
pixi run pytest src/ca_biositing/pipeline
Expected behavior
Prefect’s ephemeral API server starts successfully during the test run, and the ETL tests complete without timing out.
Relevant log output / screenshots
Software version
unsure
Environment
Other (specify below)
Other environment details
issue specifically with GitHub Actions spun-up machine