File tree Expand file tree Collapse file tree 2 files changed +45
-16
lines changed Expand file tree Collapse file tree 2 files changed +45
-16
lines changed Original file line number Diff line number Diff line change 55
66jobs :
77 docker-build :
8- runs-on : ubuntu-latest
8+ runs-on : ${{ matrix.runs_on }}
99 strategy :
10+ fail-fast : false
1011 matrix :
1112 variant : [bookworm, bullseye]
13+ target : [arm64, x86_64]
14+ include :
15+ - target : arm64
16+ runs_on : ubuntu-24.04-arm
17+ - target : x86_64
18+ runs_on : ubuntu-24.04
1219 env :
1320 VERSION : ${{ matrix.variant }}
21+ TAG : ${{ matrix.variant }}-run-${{ github.run_number }}
1422 steps :
1523 - name : Checkout
1624 uses : actions/checkout@v3
2129 with :
2230 username : ${{ secrets.DOCKERHUB_USERNAME }}
2331 password : ${{ secrets.DOCKERHUB_TOKEN }}
24- - name : Build targets
25- run : make all
26- - name : Push targets
32+ - name : Build target
33+ run : make ${{ matrix.target }}
34+
35+ manifest :
36+ runs-on : ubuntu-latest
37+ needs : [docker-build]
38+ strategy :
39+ matrix :
40+ variant : [bookworm, bullseye]
41+ include :
42+ - variant : bullseye
43+ is_latest : true
44+ env :
45+ TAG : ${{ matrix.variant }}-run-${{ github.run_number }}
46+ steps :
47+ - name : Checkout
48+ uses : actions/checkout@v3
49+ - name : Login to Docker Hub
50+ uses : docker/login-action@v3
51+ with :
52+ username : ${{ secrets.DOCKERHUB_USERNAME }}
53+ password : ${{ secrets.DOCKERHUB_TOKEN }}
54+ - name : Create ${{ env.TAG }} manifest
2755 run : make tag
56+ - name : Create ${{ matrix.variant }} manifest
57+ run : make tag MANIFEST_TAG=${{ matrix.variant }}
58+ - name : Create latest
59+ if : ${{ matrix.is_latest }}
60+ run : make tag MANIFEST_TAG=latest
Original file line number Diff line number Diff line change 11REPO := ayufan/rock64-dockerfiles
22TARGETS := arm64 x86_64
3+ TAG ?= $(VERSION )
4+ MANIFEST_TAG ?= $(TAG )
35
46ifeq (,$(VERSION ) )
57$(error "Use `make <target> VERSION=bookworm`, or `make <target> VERSION=bullseye`")
@@ -16,18 +18,12 @@ arm64: DOCKER_ARCH=arm64v8/
1618x86_64 : DOCKER_ARCH=amd64/
1719
1820$(TARGETS ) :
19- docker build --build-arg DOCKER_ARCH=$(DOCKER_ARCH ) --build-arg DEBIAN_VERSION=$(VERSION ) --tag $(REPO ) :$(VERSION ) -$@ .
20- docker push $(REPO ) :$(VERSION ) -$@
21+ docker build --build-arg DOCKER_ARCH=$(DOCKER_ARCH ) --build-arg DEBIAN_VERSION=$(VERSION ) --tag $(REPO ) :$(TAG ) -$@ .
22+ docker push $(REPO ) :$(TAG ) -$@
2123
2224tag :
2325 -rm -rf ~ /.docker/manifests
24- docker manifest create $(REPO ) :$(VERSION ) \
25- $(addprefix $(REPO ) :$(VERSION ) -, $(TARGETS ) )
26- docker manifest push $(REPO ) :$(VERSION )
27- docker pull $(REPO ) :$(VERSION )
28-
29- latest : tag
30- docker manifest create $(REPO ) :latest \
31- $(addprefix $(REPO ) :$(VERSION ) -, $(TARGETS ) )
32- docker manifest push $(REPO ) :latest
33- docker pull $(REPO ) :latest
26+ docker manifest create $(REPO ) :$(MANIFEST_TAG ) \
27+ $(addprefix $(REPO ) :$(TAG ) -, $(TARGETS ) )
28+ docker manifest push $(REPO ) :$(MANIFEST_TAG )
29+ docker pull $(REPO ) :$(MANIFEST_TAG )
You can’t perform that action at this time.
0 commit comments