Skip to content

Commit e799d82

Browse files
committed
pull docker image build out of the os matrix
1 parent 6c85b2f commit e799d82

File tree

1 file changed

+27
-4
lines changed

1 file changed

+27
-4
lines changed

.github/workflows/python-ci.yml

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,33 @@ jobs:
6767
- name: Generate coverage report (85%) # Coverage threshold should only increase over time — never decrease it!
6868
run: COVERAGE_FAIL_UNDER=85 make coverage-report
6969

70+
build-docker-images:
71+
runs-on: ubuntu-latest
72+
steps:
73+
- uses: actions/checkout@v6
74+
75+
- name: Set up Docker Buildx
76+
uses: docker/setup-buildx-action@v3
77+
78+
- name: Build and cache Spark image
79+
uses: docker/build-push-action@v6
80+
with:
81+
context: dev/spark
82+
tags: pyiceberg-spark:latest
83+
cache-from: type=gha,scope=spark
84+
cache-to: type=gha,mode=max,scope=spark
85+
86+
- name: Build and cache Hive image
87+
uses: docker/build-push-action@v6
88+
with:
89+
context: dev/hive
90+
tags: pyiceberg-hive:latest
91+
cache-from: type=gha,scope=hive
92+
cache-to: type=gha,mode=max,scope=hive
93+
7094
integration-test:
7195
runs-on: ubuntu-latest
96+
needs: build-docker-images
7297
strategy:
7398
matrix:
7499
python: ['3.10', '3.11', '3.12', '3.13']
@@ -88,23 +113,21 @@ jobs:
88113
- name: Set up Docker Buildx
89114
uses: docker/setup-buildx-action@v3
90115

91-
- name: Build and cache Spark image
116+
- name: Build Spark image (from cache)
92117
uses: docker/build-push-action@v6
93118
with:
94119
context: dev/spark
95120
load: true
96121
tags: pyiceberg-spark:latest
97122
cache-from: type=gha,scope=spark
98-
cache-to: type=gha,mode=max,scope=spark
99123

100-
- name: Build and cache Hive image
124+
- name: Build Hive image (from cache)
101125
uses: docker/build-push-action@v6
102126
with:
103127
context: dev/hive
104128
load: true
105129
tags: pyiceberg-hive:latest
106130
cache-from: type=gha,scope=hive
107-
cache-to: type=gha,mode=max,scope=hive
108131

109132
- name: Run integration tests with coverage
110133
run: COVERAGE=1 make test-integration

0 commit comments

Comments
 (0)