77 pull_request :
88
99jobs :
10- run-e2e -tests :
10+ run-non-telemetry -tests :
1111 runs-on : ubuntu-latest
1212 environment : azure-prod
1313 env :
3333 - name : Install Poetry
3434 uses : snok/install-poetry@v1
3535 with :
36+ version : " 2.2.1"
3637 virtualenvs-create : true
3738 virtualenvs-in-project : true
3839 installer-parallel : true
@@ -49,14 +50,62 @@ jobs:
4950 # ----------------------------------------------
5051 # install dependencies if cache does not exist
5152 # ----------------------------------------------
53+ - name : Install Kerberos system dependencies
54+ run : |
55+ sudo apt-get update
56+ sudo apt-get install -y libkrb5-dev
5257 - name : Install dependencies
5358 run : poetry install --no-interaction --all-extras
5459 # ----------------------------------------------
5560 # run test suite
5661 # ----------------------------------------------
57- - name : Run e2e tests (excluding daily-only tests)
62+ - name : Run non-telemetry e2e tests
5863 run : |
59- # Exclude telemetry E2E tests from PR runs ( run daily instead)
64+ # Exclude all telemetry tests - they run in separate job for isolation
6065 poetry run python -m pytest tests/e2e \
6166 --ignore=tests/e2e/test_telemetry_e2e.py \
62- -n auto
67+ --ignore=tests/e2e/test_concurrent_telemetry.py \
68+ -n auto
69+
70+ run-telemetry-tests :
71+ runs-on : ubuntu-latest
72+ needs : run-non-telemetry-tests # Run after non-telemetry tests complete
73+ environment : azure-prod
74+ env :
75+ DATABRICKS_SERVER_HOSTNAME : ${{ secrets.DATABRICKS_HOST }}
76+ DATABRICKS_HTTP_PATH : ${{ secrets.TEST_PECO_WAREHOUSE_HTTP_PATH }}
77+ DATABRICKS_TOKEN : ${{ secrets.DATABRICKS_TOKEN }}
78+ DATABRICKS_CATALOG : peco
79+ DATABRICKS_USER : ${{ secrets.TEST_PECO_SP_ID }}
80+ steps :
81+ - name : Check out repository
82+ uses : actions/checkout@v4
83+ - name : Set up python
84+ id : setup-python
85+ uses : actions/setup-python@v5
86+ with :
87+ python-version : " 3.10"
88+ - name : Install system dependencies
89+ run : |
90+ sudo apt-get update
91+ sudo apt-get install -y libkrb5-dev
92+ - name : Install Poetry
93+ uses : snok/install-poetry@v1
94+ with :
95+ virtualenvs-create : true
96+ virtualenvs-in-project : true
97+ installer-parallel : true
98+ - name : Load cached venv
99+ id : cached-poetry-dependencies
100+ uses : actions/cache@v4
101+ with :
102+ path : .venv
103+ key : venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ github.event.repository.name }}-${{ hashFiles('**/poetry.lock') }}
104+ - name : Install dependencies
105+ run : poetry install --no-interaction --all-extras
106+ - name : Run telemetry tests in isolation
107+ run : |
108+ # Run test_concurrent_telemetry.py in isolation with complete process separation
109+ # Use --dist=loadgroup to respect @pytest.mark.xdist_group markers
110+ poetry run python -m pytest tests/e2e/test_concurrent_telemetry.py \
111+ -n auto --dist=loadgroup -v
0 commit comments