1
+ name : JWA Multi-Arch Build Test
2
+ on :
3
+ pull_request :
4
+ paths :
5
+ - components/crud-web-apps/jupyter/**
6
+ - components/crud-web-apps/common/**
7
+ - releasing/version/VERSION
8
+ branches :
9
+ - master
10
+ - notebooks-v1
11
+
12
+ concurrency :
13
+ group : ${{ github.workflow }}-${{ github.ref }}-${{ github.event.number }}
14
+ cancel-in-progress : true
15
+
16
+ env :
17
+ IMG : ghcr.io/kubeflow/notebooks/jupyter-web-app
18
+
19
+ jobs :
20
+ build :
21
+ runs-on : ubuntu-22.04
22
+ steps :
23
+ - name : Checkout
24
+ uses : actions/checkout@v4
25
+
26
+ - name : Setup QEMU
27
+ uses : docker/setup-qemu-action@v3
28
+
29
+ - name : Setup Docker Buildx
30
+ uses : docker/setup-buildx-action@v3
31
+
32
+ - name : Build multi-arch Images (AMD64 & PPC64LE)
33
+ timeout-minutes : 90
34
+ run : |
35
+ cd components/crud-web-apps/jupyter
36
+
37
+ echo "=== GitHub Actions Environment Debug ==="
38
+ echo "IMG from env: ${{ env.IMG }}"
39
+ echo "Current git commit: $(git rev-parse --short HEAD)"
40
+ echo "Git describe output: $(git describe --tags --always --dirty)"
41
+ echo "========================================"
42
+
43
+ echo "Starting linux/amd64 build..."
44
+ ARCH=linux/amd64 make docker-build-multi-arch
45
+ echo "Completed linux/amd64 build!"
46
+
47
+ echo "Starting linux/ppc64le build..."
48
+ ARCH=linux/ppc64le make docker-build-multi-arch
49
+ echo "Completed linux/ppc64le build!"
50
+
51
+ - name : Build ARM64 Image (Optional)
52
+ timeout-minutes : 60
53
+ continue-on-error : true
54
+ run : |
55
+ cd components/crud-web-apps/jupyter
56
+
57
+ echo "Starting linux/arm64/v8 build..."
58
+ ARCH=linux/arm64/v8 make docker-build-multi-arch
59
+ echo "Completed linux/arm64/v8 build!"
60
+
61
+ - name : Verify multi-arch builds
62
+ run : |
63
+ echo "Verifying multi-arch build results:"
64
+ echo "Listing Docker images:"
65
+ docker images | grep jupyter-web-app || echo "No jupyter-web-app images found"
66
+
67
+ echo ""
68
+ echo "Build summary:"
69
+ echo "✅ AMD64 & PPC64LE builds completed in main step"
70
+ echo "ℹ️ ARM64 build attempted in optional step (may timeout)"
71
+
72
+ echo ""
73
+ echo "Total images built:"
74
+ docker images --format "table {{.Repository}}\t{{.Tag}}\t{{.Size}}" | grep jupyter-web-app | wc -l
0 commit comments