-
-
Notifications
You must be signed in to change notification settings - Fork 2k
CI: Use public ARM64 Github actions runners for ARM64 builds. #5305
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
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.
.github/workflows/ci.yml
Outdated
matrix: | ||
include: | ||
- os: ubuntu-latest | ||
docker_compose_file: "docker-compose.yml" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perfect. Looks good to me!
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