Skip to content
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

Multiarch Playnite Web Docker Images #326

Merged
merged 9 commits into from
Jun 4, 2024
Merged

Multiarch Playnite Web Docker Images #326

merged 9 commits into from
Jun 4, 2024

Conversation

cvele
Copy link
Contributor

@cvele cvele commented May 26, 2024

WIP

Goal is to release Docker images supporting multiple architectures, primarily arm64. While this is not a blocker for #319 it's one for personal use-case.

@cvele
Copy link
Contributor Author

cvele commented May 26, 2024

Yarn publish target has been updated to build for all available architectures by inspecting engine on runtime: docker buildx inspect --bootstrap | awk -F 'Platforms: ' '{if (NF>1) print $2}'

Github Actions have been updated so that they setup QEMU and configure it for amd64, arm64.

@cvele
Copy link
Contributor Author

cvele commented May 26, 2024

@andrew-codes Can you provide some guidance on how to best test these changes?

@andrew-codes
Copy link
Owner

andrew-codes commented May 28, 2024

@cvele In terms of testing, the GitHub runner that is being used is currently published to a private registry. The image is defined by this project, https://github.com/andrew-codes/home-automation/tree/main/apps/github-action-runners (see the src directory for the Dockerfile). You will need to build that image locally to test with until I get it published to ghcr.io. I will work on doing this soon.

Note the package extension is a false failure, however, the publish images is failing that will need to be addressed. I ran the command manually on the runner and I think the spaces between the platforms are causing the issue seen in the logs of the failed workflow.

@andrew-codes
Copy link
Owner

Based on the new error message, I think the remaining work is to enable multi-arch builds on the runner; specifically, enabling the containerd image store on the runner. It is not clear to me what I need to do to accomplish this, so any advice or guidance is appreciated. Thanks for your contribution!

@andrew-codes andrew-codes linked an issue May 28, 2024 that may be closed by this pull request
@andrew-codes andrew-codes changed the base branch from release-3.1.x to release-3.2.x May 28, 2024 15:18
@andrew-codes
Copy link
Owner

Feel free to revert the commit: 0fa413d. I am taking care of that in a separate PR now.

@cvele
Copy link
Contributor Author

cvele commented May 29, 2024

Reverted: 0fa413d99518b29df248d828e539b0369ae53e52

Additionally added some parameters to Buildx setup which should enable the containerd image store which supports multi-platform builds.

@andrew-codes
Copy link
Owner

I'm not familiar with the error in the build. @cvele , let me know how I can support in resolving this. Thanks!

@andrew-codes andrew-codes changed the base branch from release-3.2.x to main June 2, 2024 15:23
@andrew-codes
Copy link
Owner

Also, I mis-spoke, I am not using a custom runner image in this repo. I can re-run the PR once the current error is updated. Thanks!

cvele and others added 4 commits June 4, 2024 15:27
- Updated publish_images job in GitHub Actions workflow
- Enabled containerd image store in docker/setup-buildx-action to support multi-platform builds
- Adjusted driver-opts to include necessary options for containerd

Resolves multi-platform build error in CI pipeline.
@andrew-codes andrew-codes changed the title [WIP] Multiarch Playnite Web Docker Images Multiarch Playnite Web Docker Images Jun 4, 2024
@andrew-codes andrew-codes marked this pull request as ready for review June 4, 2024 15:55
@andrew-codes andrew-codes merged commit 510cd7e into andrew-codes:main Jun 4, 2024
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

Support ARM Docker images
2 participants