|
14 | 14 | jobs: |
15 | 15 | test-examples: |
16 | 16 | name: Test Python Examples (${{ matrix.platform }}) |
17 | | - runs-on: ubuntu-latest |
| 17 | + runs-on: ${{ matrix.runs-on }} |
18 | 18 | strategy: |
19 | 19 | fail-fast: false |
20 | 20 | matrix: |
21 | | - platform: [linux/amd64, linux/arm64, darwin/amd64, darwin/arm64, windows/amd64] |
| 21 | + include: |
| 22 | + - platform: linux/amd64 |
| 23 | + runs-on: ubuntu-latest |
| 24 | + - platform: darwin/amd64 |
| 25 | + runs-on: macos-13 |
| 26 | + - platform: darwin/arm64 |
| 27 | + runs-on: macos-latest |
| 28 | + - platform: windows/amd64 |
| 29 | + runs-on: windows-latest |
| 30 | + # Note: linux/arm64 wheel is built and published but examples not tested |
| 31 | + # (no native ARM64 runner available, QEMU emulation too slow for 30-60 min examples) |
22 | 32 |
|
23 | 33 | steps: |
24 | 34 | - name: Checkout code |
25 | 35 | uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 |
26 | 36 |
|
27 | | - - name: Set up QEMU (for ARM64 emulation) |
28 | | - if: contains(matrix.platform, 'arm64') |
29 | | - uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3.2.0 |
30 | | - with: |
31 | | - platforms: arm64 |
32 | | - |
33 | | - - name: Set up Docker Buildx |
| 37 | + - name: Set up Docker Buildx (Linux only) |
| 38 | + if: startsWith(matrix.platform, 'linux/') |
34 | 39 | uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1 |
35 | 40 |
|
| 41 | + - name: Set up Java (for native builds on macOS/Windows) |
| 42 | + if: ${{ !startsWith(matrix.platform, 'linux/') }} |
| 43 | + uses: actions/setup-java@7a6d8a8234af8eb26422e24e3006232cccaa061b # v4.6.0 |
| 44 | + with: |
| 45 | + distribution: 'temurin' |
| 46 | + java-version: '21' |
| 47 | + |
36 | 48 | - name: Build arcadedb-embedded (${{ matrix.platform }}) |
37 | 49 | run: | |
38 | 50 | cd bindings/python |
|
44 | 56 | with: |
45 | 57 | python-version: '3.11' |
46 | 58 |
|
47 | | - # Note: Java is NOT required - arcadedb-embedded has bundled JRE! |
| 59 | + # Note: Java is NOT required for end users - arcadedb-embedded has bundled JRE! |
48 | 60 |
|
49 | 61 | - name: Install ArcadeDB Python bindings |
50 | 62 | run: | |
@@ -261,9 +273,11 @@ jobs: |
261 | 273 | if [ "${{ needs.test-examples.result }}" = "success" ]; then |
262 | 274 | echo "✅ **All platforms passed example testing!**" >> $GITHUB_STEP_SUMMARY |
263 | 275 | echo "" >> $GITHUB_STEP_SUMMARY |
264 | | - echo "All examples ran successfully across all 5 platforms." >> $GITHUB_STEP_SUMMARY |
| 276 | + echo "All examples ran successfully across all tested platforms." >> $GITHUB_STEP_SUMMARY |
| 277 | + echo "" >> $GITHUB_STEP_SUMMARY |
| 278 | + echo "**Platforms tested**: linux/amd64, darwin/amd64, darwin/arm64, windows/amd64" >> $GITHUB_STEP_SUMMARY |
265 | 279 | echo "" >> $GITHUB_STEP_SUMMARY |
266 | | - echo "**Platforms tested**: linux/amd64, linux/arm64, darwin/amd64, darwin/arm64, windows/amd64" >> $GITHUB_STEP_SUMMARY |
| 280 | + echo "**Note**: linux/arm64 wheel is built and published but examples not tested (no native ARM64 runner, QEMU too slow)" >> $GITHUB_STEP_SUMMARY |
267 | 281 | else |
268 | 282 | echo "❌ **Some platforms failed example testing**" >> $GITHUB_STEP_SUMMARY |
269 | 283 | echo "" >> $GITHUB_STEP_SUMMARY |
|
0 commit comments