1+ name : Build & Publish VWA Docker image
2+ on :
3+ push :
4+ branches :
5+ - main
6+ - v*-branch
7+ - notebooks-v1
8+ paths :
9+ - components/crud-web-apps/volumes/**
10+ - components/crud-web-apps/common/**
11+ - releasing/version/VERSION
12+
13+ env :
14+ IMG : ghcr.io/kubeflow/notebooks/volumes-web-app
15+ ARCH : linux/amd64,linux/ppc64le,linux/arm64/v8
16+
17+ jobs :
18+ push_to_registry :
19+ name : Build & Push image to GHCR
20+ runs-on : ubuntu-22.04
21+ defaults :
22+ run :
23+ working-directory : components/crud-web-apps/volumes
24+ steps :
25+ - name : Checkout
26+ uses : actions/checkout@v4
27+
28+ - uses : dorny/paths-filter@v3
29+ id : filter
30+ with :
31+ base : ${{ github.ref }}
32+ filters : |
33+ version:
34+ - 'releasing/version/VERSION'
35+
36+ - name : Login to GHCR
37+ uses : docker/login-action@v3
38+ with :
39+ registry : ghcr.io
40+ username : ${{ github.actor }}
41+ password : ${{ secrets.GITHUB_TOKEN }}
42+
43+ - name : Setup QEMU
44+ uses : docker/setup-qemu-action@v3
45+
46+ - name : Setup Docker Buildx
47+ uses : docker/setup-buildx-action@v3
48+
49+ - name : Build and push multi-arch docker image
50+ run : make docker-build-push-multi-arch
51+
52+ - name : Build and push latest multi-arch docker image
53+ if : github.ref == 'refs/heads/notebooks-v1'
54+ run : TAG=latest make docker-build-push-multi-arch
55+
56+ - name : Build and push multi-arch docker image on Version change
57+ id : version
58+ if : steps.filter.outputs.version == 'true'
59+ run : TAG=$(cat ../../../releasing/version/VERSION) make docker-build-push-multi-arch
0 commit comments