Skip to content

Commit 2387c20

Browse files
Fix step ordering: move JFrog setup after poetry install
The snok/install-poetry action uses pip internally to install poetry. When PIP_INDEX_URL was set before this step, the installer tried to route through JFrog and failed with an SSL error. Move the JFrog OIDC token + PIP_INDEX_URL + poetry source configuration to run after Install Poetry but before poetry install. Co-authored-by: Isaac Signed-off-by: Vikrant Puppala <vikrant.puppala@databricks.com>
1 parent 2364b0d commit 2387c20

File tree

4 files changed

+59
-38
lines changed

4 files changed

+59
-38
lines changed

.github/workflows/code-coverage.yml

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ jobs:
2626
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
2727
with:
2828
fetch-depth: 0
29-
- name: Setup JFrog
30-
uses: ./.github/actions/setup-jfrog
3129
- name: Set up python
3230
id: setup-python
3331
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
@@ -50,6 +48,11 @@ jobs:
5048
virtualenvs-create: true
5149
virtualenvs-in-project: true
5250
installer-parallel: true
51+
#----------------------------------------------
52+
# ----- configure JFrog PyPI proxy -----
53+
#----------------------------------------------
54+
- name: Setup JFrog
55+
uses: ./.github/actions/setup-jfrog
5356
- name: Configure Poetry for JFrog
5457
run: |
5558
poetry config repositories.jfrog https://databricks.jfrog.io/artifactory/api/pypi/db-pypi/simple
@@ -107,7 +110,7 @@ jobs:
107110
--cov-report=xml \
108111
--cov-report=term \
109112
-v
110-
113+
111114
#----------------------------------------------
112115
# check for coverage override
113116
#----------------------------------------------
@@ -137,19 +140,19 @@ jobs:
137140
echo "ERROR: Coverage file not found at $COVERAGE_FILE"
138141
exit 1
139142
fi
140-
143+
141144
# Install xmllint if not available
142145
if ! command -v xmllint &> /dev/null; then
143146
sudo apt-get update && sudo apt-get install -y libxml2-utils
144147
fi
145-
148+
146149
COVERED=$(xmllint --xpath "string(//coverage/@lines-covered)" "$COVERAGE_FILE")
147150
TOTAL=$(xmllint --xpath "string(//coverage/@lines-valid)" "$COVERAGE_FILE")
148151
PERCENTAGE=$(python3 -c "covered=${COVERED}; total=${TOTAL}; print(round((covered/total)*100, 2))")
149-
152+
150153
echo "Branch Coverage: $PERCENTAGE%"
151154
echo "Required Coverage: 85%"
152-
155+
153156
# Use Python to compare the coverage with 85
154157
python3 -c "import sys; sys.exit(0 if float('$PERCENTAGE') >= 85 else 1)"
155158
if [ $? -eq 1 ]; then
@@ -158,7 +161,7 @@ jobs:
158161
else
159162
echo "SUCCESS: Coverage is $PERCENTAGE%, which meets the required 85%"
160163
fi
161-
164+
162165
#----------------------------------------------
163166
# coverage enforcement summary
164167
#----------------------------------------------
@@ -173,4 +176,3 @@ jobs:
173176
else
174177
echo "✅ Coverage checks enforced - minimum 85% required"
175178
fi
176-

.github/workflows/code-quality-checks.yml

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,15 @@ jobs:
2121
dependency-version: "min"
2222
- python-version: "3.13"
2323
dependency-version: "min"
24-
24+
2525
name: "Unit Tests (Python ${{ matrix.python-version }}, ${{ matrix.dependency-version }} deps)"
26-
26+
2727
steps:
2828
#----------------------------------------------
2929
# check-out repo and set-up python
3030
#----------------------------------------------
3131
- name: Check out repository
3232
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
33-
- name: Setup JFrog
34-
uses: ./.github/actions/setup-jfrog
3533
- name: Set up python ${{ matrix.python-version }}
3634
id: setup-python
3735
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
@@ -47,6 +45,11 @@ jobs:
4745
virtualenvs-create: true
4846
virtualenvs-in-project: true
4947
installer-parallel: true
48+
#----------------------------------------------
49+
# ----- configure JFrog PyPI proxy -----
50+
#----------------------------------------------
51+
- name: Setup JFrog
52+
uses: ./.github/actions/setup-jfrog
5053
- name: Configure Poetry for JFrog
5154
run: |
5255
poetry config repositories.jfrog https://databricks.jfrog.io/artifactory/api/pypi/db-pypi/simple
@@ -114,17 +117,15 @@ jobs:
114117
dependency-version: "min"
115118
- python-version: "3.13"
116119
dependency-version: "min"
117-
120+
118121
name: "Unit Tests + PyArrow (Python ${{ matrix.python-version }}, ${{ matrix.dependency-version }} deps)"
119-
122+
120123
steps:
121124
#----------------------------------------------
122125
# check-out repo and set-up python
123126
#----------------------------------------------
124127
- name: Check out repository
125128
uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2
126-
- name: Setup JFrog
127-
uses: ./.github/actions/setup-jfrog
128129
- name: Set up python ${{ matrix.python-version }}
129130
id: setup-python
130131
uses: actions/setup-python@e9aba2c848f5ebd159c070c61ea2c4e2b122355e # v2
@@ -140,6 +141,11 @@ jobs:
140141
virtualenvs-create: true
141142
virtualenvs-in-project: true
142143
installer-parallel: true
144+
#----------------------------------------------
145+
# ----- configure JFrog PyPI proxy -----
146+
#----------------------------------------------
147+
- name: Setup JFrog
148+
uses: ./.github/actions/setup-jfrog
143149
- name: Configure Poetry for JFrog
144150
run: |
145151
poetry config repositories.jfrog https://databricks.jfrog.io/artifactory/api/pypi/db-pypi/simple
@@ -210,8 +216,6 @@ jobs:
210216
#----------------------------------------------
211217
- name: Check out repository
212218
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
213-
- name: Setup JFrog
214-
uses: ./.github/actions/setup-jfrog
215219
- name: Set up python ${{ matrix.python-version }}
216220
id: setup-python
217221
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
@@ -227,6 +231,11 @@ jobs:
227231
virtualenvs-create: true
228232
virtualenvs-in-project: true
229233
installer-parallel: true
234+
#----------------------------------------------
235+
# ----- configure JFrog PyPI proxy -----
236+
#----------------------------------------------
237+
- name: Setup JFrog
238+
uses: ./.github/actions/setup-jfrog
230239
- name: Configure Poetry for JFrog
231240
run: |
232241
poetry config repositories.jfrog https://databricks.jfrog.io/artifactory/api/pypi/db-pypi/simple
@@ -272,8 +281,6 @@ jobs:
272281
#----------------------------------------------
273282
- name: Check out repository
274283
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
275-
- name: Setup JFrog
276-
uses: ./.github/actions/setup-jfrog
277284
- name: Set up python ${{ matrix.python-version }}
278285
id: setup-python
279286
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
@@ -289,6 +296,11 @@ jobs:
289296
virtualenvs-create: true
290297
virtualenvs-in-project: true
291298
installer-parallel: true
299+
#----------------------------------------------
300+
# ----- configure JFrog PyPI proxy -----
301+
#----------------------------------------------
302+
- name: Setup JFrog
303+
uses: ./.github/actions/setup-jfrog
292304
- name: Configure Poetry for JFrog
293305
run: |
294306
poetry config repositories.jfrog https://databricks.jfrog.io/artifactory/api/pypi/db-pypi/simple

.github/workflows/daily-telemetry-e2e.yml

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: Daily Telemetry E2E Tests
33
on:
44
schedule:
55
- cron: '0 0 * * 0' # Run every Sunday at midnight UTC
6-
6+
77
workflow_dispatch: # Allow manual triggering
88
inputs:
99
test_pattern:
@@ -22,30 +22,27 @@ jobs:
2222
group: databricks-protected-runner-group
2323
labels: linux-ubuntu-latest
2424
environment: azure-prod
25-
25+
2626
env:
2727
DATABRICKS_SERVER_HOSTNAME: ${{ secrets.DATABRICKS_HOST }}
2828
DATABRICKS_HTTP_PATH: ${{ secrets.TEST_PECO_WAREHOUSE_HTTP_PATH }}
2929
DATABRICKS_TOKEN: ${{ secrets.DATABRICKS_TOKEN }}
3030
DATABRICKS_CATALOG: peco
3131
DATABRICKS_USER: ${{ secrets.TEST_PECO_SP_ID }}
32-
32+
3333
steps:
3434
#----------------------------------------------
3535
# check-out repo and set-up python
3636
#----------------------------------------------
3737
- name: Check out repository
3838
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
3939

40-
- name: Setup JFrog
41-
uses: ./.github/actions/setup-jfrog
42-
4340
- name: Set up python
4441
id: setup-python
4542
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
4643
with:
4744
python-version: "3.10"
48-
45+
4946
#----------------------------------------------
5047
# ----- install & configure poetry -----
5148
#----------------------------------------------
@@ -56,6 +53,11 @@ jobs:
5653
virtualenvs-create: true
5754
virtualenvs-in-project: true
5855
installer-parallel: true
56+
#----------------------------------------------
57+
# ----- configure JFrog PyPI proxy -----
58+
#----------------------------------------------
59+
- name: Setup JFrog
60+
uses: ./.github/actions/setup-jfrog
5961
- name: Configure Poetry for JFrog
6062
run: |
6163
poetry config repositories.jfrog https://databricks.jfrog.io/artifactory/api/pypi/db-pypi/simple
@@ -71,7 +73,7 @@ jobs:
7173
with:
7274
path: .venv
7375
key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ github.event.repository.name }}-${{ hashFiles('**/poetry.lock') }}
74-
76+
7577
#----------------------------------------------
7678
# install dependencies if cache does not exist
7779
#----------------------------------------------
@@ -81,7 +83,7 @@ jobs:
8183
sudo apt-get install -y libkrb5-dev
8284
- name: Install dependencies
8385
run: poetry install --no-interaction --all-extras
84-
86+
8587
#----------------------------------------------
8688
# run telemetry E2E tests
8789
#----------------------------------------------
@@ -90,7 +92,7 @@ jobs:
9092
TEST_PATTERN="${{ github.event.inputs.test_pattern || 'tests/e2e/test_telemetry_e2e.py' }}"
9193
echo "Running tests: $TEST_PATTERN"
9294
poetry run python -m pytest $TEST_PATTERN -v -s
93-
95+
9496
#----------------------------------------------
9597
# upload test results on failure
9698
#----------------------------------------------
@@ -103,4 +105,3 @@ jobs:
103105
.pytest_cache/
104106
tests-unsafe.log
105107
retention-days: 7
106-

.github/workflows/integration.yml

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: Integration Tests
22

33
on:
4-
push:
4+
push:
55
branches:
66
- main
77
pull_request:
@@ -28,8 +28,6 @@ jobs:
2828
#----------------------------------------------
2929
- name: Check out repository
3030
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
31-
- name: Setup JFrog
32-
uses: ./.github/actions/setup-jfrog
3331
- name: Set up python
3432
id: setup-python
3533
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
@@ -45,6 +43,11 @@ jobs:
4543
virtualenvs-create: true
4644
virtualenvs-in-project: true
4745
installer-parallel: true
46+
#----------------------------------------------
47+
# ----- configure JFrog PyPI proxy -----
48+
#----------------------------------------------
49+
- name: Setup JFrog
50+
uses: ./.github/actions/setup-jfrog
4851
- name: Configure Poetry for JFrog
4952
run: |
5053
poetry config repositories.jfrog https://databricks.jfrog.io/artifactory/api/pypi/db-pypi/simple
@@ -95,8 +98,6 @@ jobs:
9598
steps:
9699
- name: Check out repository
97100
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
98-
- name: Setup JFrog
99-
uses: ./.github/actions/setup-jfrog
100101
- name: Set up python
101102
id: setup-python
102103
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
@@ -112,6 +113,11 @@ jobs:
112113
virtualenvs-create: true
113114
virtualenvs-in-project: true
114115
installer-parallel: true
116+
#----------------------------------------------
117+
# ----- configure JFrog PyPI proxy -----
118+
#----------------------------------------------
119+
- name: Setup JFrog
120+
uses: ./.github/actions/setup-jfrog
115121
- name: Configure Poetry for JFrog
116122
run: |
117123
poetry config repositories.jfrog https://databricks.jfrog.io/artifactory/api/pypi/db-pypi/simple
@@ -130,4 +136,4 @@ jobs:
130136
# Run test_concurrent_telemetry.py in isolation with complete process separation
131137
# Use --dist=loadgroup to respect @pytest.mark.xdist_group markers
132138
poetry run python -m pytest tests/e2e/test_concurrent_telemetry.py \
133-
-n auto --dist=loadgroup -v
139+
-n auto --dist=loadgroup -v

0 commit comments

Comments
 (0)