getumbrel / umbrel-middleware

RESTful Bitcoin and Lightning API for Umbrel
MIT License
21 stars 11 forks source link

Automate docker deployments using GitHub actions #14

Closed mayankchhabra closed 4 years ago

mayankchhabra commented 4 years ago

Manual multi-architecture builds and deployments on every release is a pain in the ass. :/

Releases

On every tagged release, it should:

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:

mayankchhabra commented 4 years ago

@nolim1t your assistance will be very much required with this

nolim1t commented 4 years ago

arm7 builds might be a pain in the ass

nolim1t commented 4 years ago

but this might look promising

https://github.com/meedamian/simple-qemu

mayankchhabra commented 4 years ago

@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!

amd64 Build

docker buildx build -t getumbrel/middleware:x64-0.0.5 --platform linux/amd64 .

armv7 Build

docker buildx build -t getumbrel/middleware:armv7-0.0.5 --platform linux/arm/v7 .
nolim1t commented 4 years ago

LGTM.

We have to use that setting for manifests anyway..

mayankchhabra commented 4 years ago

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

nolim1t commented 4 years ago

All done. See PR comments.