CI: Use public ARM64 Github actions runners for ARM64 builds. - #5305
Conversation
Currently, Invidious uses QEMU to build it's ARM64 Invidious image, which is slow (since we are basically using a virtual machine). This helps with the speed of building ARM64 binaries for Invidious on each release/commit. More information about the public ARM64 runners here: https://github.com/orgs/community/discussions/148648 CI: Use ARM64 compose file for build-docker-arm64
|
If possible, test the ARM64 OCI Image on a real ARM64 machine. I don't have access to one (well, my phone may work) and I would like to know if it works fine just as the QEMU built one. |
Dockerfile and Dockerfile.arm64 already build Invidious without release mode if `release` argument is not present.
| matrix: | ||
| include: | ||
| - os: ubuntu-latest | ||
| docker_compose_file: "docker-compose.yml" |
There was a problem hiding this comment.
docker_compose_file: "docker-compose.yml" doesn't need to be specified, but makes it clearer to understand the job.
…y or not Depends on iv-org#5305 As discussed on iv-org#5305 (comment), we noticed that the `build-docker` job doesn't actually checks if Invidious works or not, because curl always exited with code `0` (success) and the current docker-compose.yml files have defaults that will make Invidious fail at start (`hmac_key` and missing Invidious companion configuration).
|
It still bothers me a little to have two Lines 11 to 13 in 03f89be To: But I'm not sure :/, what do you think @syeopite |
|
Considering there is only a single line difference between the two compose files I think the simplest solution is to literally just sed - name: Use ARM64 Dockerfile if ARM64
if: ${{name}} == "ARM64"
run: sed -i 's/Dockerfile/Dockerfile.arm64/' docker-compose.yml |
|
Oh right... Dumb me. |
|
Would be interesting to merge both amd64 and arm64 into a single docker image tag. That's what @inetol did here at SearXNG with two separate Dockerfile: searxng/searxng#4764 Maybe he can explain to us how to do :)? |
Oh that should be easy (at least from what I know). But I would prefer to do that in another PR |
Currently, Invidious uses QEMU to build it's ARM64 Invidious image, which is slow (since we are basically using a virtual machine).
This helps with the speed of building ARM64 binaries for Invidious on each release/commit by a lot.
More information about the public ARM64 runners here: https://github.com/orgs/community/discussions/148648
Take a look at: https://github.com/Fijxu/invidious/actions/runs/15037532092 and https://github.com/Fijxu/invidious/actions/runs/15037532093
Testing OCI images at https://git.nadeko.net/Fijxu/-/packages/container/invidious_do_not_pull/master-arm64 and https://git.nadeko.net/Fijxu/-/packages/container/invidious_do_not_pull/master