3232permissions :
3333 contents : read
3434
35- env :
36- UV_CACHE_DIR : ${{ github.workspace }}/.cache/uv
37-
3835jobs :
3936 # First job: Download ArcadeDB JARs (platform-agnostic)
4037 download-jars :
@@ -44,19 +41,10 @@ jobs:
4441 - name : Checkout code
4542 uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4643
47- - name : Restore cached ArcadeDB JARs
48- id : jars-cache
49- uses : actions/cache/restore@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
50- with :
51- path : bindings/python/src/arcadedb_embedded/jars
52- key : python-jars-${{ hashFiles('pom.xml', 'bindings/python/extract_version.py', 'bindings/python/jar_exclusions.txt') }}
53-
5444 - name : Set up Docker Buildx
55- if : steps.jars-cache.outputs.cache-hit != 'true'
5645 uses : docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
5746
5847 - name : Download JARs from ArcadeDB Docker image
59- if : steps.jars-cache.outputs.cache-hit != 'true'
6048 shell : bash
6149 run : |
6250 cd bindings/python
8270 echo "✅ Downloaded $JAR_COUNT JAR files"
8371
8472 - name : Remove excluded JARs
85- if : steps.jars-cache.outputs.cache-hit != 'true'
8673 shell : bash
8774 run : |
8875 cd bindings/python
@@ -116,13 +103,6 @@ jobs:
116103 echo "⚠️ No jar_exclusions.txt found, skipping exclusions"
117104 fi
118105
119- - name : Save ArcadeDB JAR cache
120- if : steps.jars-cache.outputs.cache-hit != 'true'
121- uses : actions/cache/save@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
122- with :
123- path : bindings/python/src/arcadedb_embedded/jars
124- key : python-jars-${{ hashFiles('pom.xml', 'bindings/python/extract_version.py', 'bindings/python/jar_exclusions.txt') }}
125-
126106 - name : Upload filtered JARs as artifact
127107 uses : actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
128108 with :
@@ -174,16 +154,6 @@ jobs:
174154 with :
175155 python-version : ${{ matrix.python-version }}
176156
177- - name : Restore uv cache
178- id : uv-cache
179- uses : actions/cache/restore@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
180- with :
181- path : ${{ env.UV_CACHE_DIR }}
182- key : uv-bindings-${{ runner.os }}-py${{ matrix.python-version }}-${{ hashFiles('bindings/python/pyproject.toml', '.github/workflows/test-python-bindings.yml') }}
183- restore-keys : |
184- uv-bindings-${{ runner.os }}-py${{ matrix.python-version }}-
185- uv-bindings-${{ runner.os }}-
186-
187157 - name : Setup UV package manager
188158 shell : bash
189159 run : |
@@ -193,6 +163,9 @@ jobs:
193163 uv --version
194164
195165 - name : Download ArcadeDB JARs artifact
166+ # Skip for Linux: Docker build downloads JARs from ArcadeDB image directly
167+ # Only needed for native builds (macOS/Windows)
168+ if : matrix.platform != 'linux/amd64' && matrix.platform != 'linux/arm64'
196169 uses : actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
197170 with :
198171 name : arcadedb-jars
@@ -235,7 +208,7 @@ jobs:
235208 run : |
236209 cd bindings/python
237210 echo "🔨 Building arcadedb-embedded for ${{ matrix.platform }} with Python ${{ matrix.python-version }}..."
238- ./build.sh ${{ matrix.platform }} ${{ matrix.python-version }} src/arcadedb_embedded/jars
211+ ./build.sh ${{ matrix.platform }} ${{ matrix.python-version }}
239212
240213 - name : Extract wheel for additional testing
241214 shell : bash
@@ -440,13 +413,6 @@ jobs:
440413 path : bindings/python/dist/*.whl
441414 retention-days : 7
442415
443- - name : Save uv cache
444- if : always() && steps.uv-cache.outputs.cache-hit != 'true'
445- uses : actions/cache/save@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
446- with :
447- path : ${{ env.UV_CACHE_DIR }}
448- key : uv-bindings-${{ runner.os }}-py${{ matrix.python-version }}-${{ hashFiles('bindings/python/pyproject.toml', '.github/workflows/test-python-bindings.yml') }}
449-
450416 # Summary job that checks all platforms
451417 test-summary :
452418 name : Test Summary
0 commit comments