Closed mayankchhabra closed 4 years ago
@nolim1t your assistance will be very much required with this
arm7 builds might be a pain in the ass
but this might look promising
@nolim1t looks like arm builds won't be a problem anymore.
For the new middleware v0.0.5 containers, I used docker buildx (an experimental feature, so edit docker's config.json
file and set experimental
to true
) and it just worked really well out of the box!
docker buildx build -t getumbrel/middleware:x64-0.0.5 --platform linux/amd64 .
docker buildx build -t getumbrel/middleware:armv7-0.0.5 --platform linux/arm/v7 .
LGTM.
We have to use that setting for manifests anyway..
Yeah, and manifests can themselves be handled by buildx too. This is from their website, but I haven't tried it yet:
Buildx also supports new features that are not yet available for regular docker build like building manifest lists
All done. See PR comments.
Manual multi-architecture builds and deployments on every release is a pain in the ass. :/
Releases
On every tagged release, it should:
amd64
andarmv7
images with new versions. Eg.getumbrel/middleware:x64-0.1.0
andgetumbrel/middleware:armv7-0.1.0
.getumbrel/middleware:v0.1.0
.:latest
tag and annotate both architecture builds (requires--amend
option). Eg.getumbrel/middleware:latest
.Merges
For faster development and testing, there should be an always up-to-date image with the
master
branch's code. So on every merge with the master branch, it should:amd64
andarmv7
images with "master" tag. Eg.getumbrel/middleware:x64-master
andgetumbrel/middleware:armv7-master
.getumbrel/middleware:master
(requires--amend
option).