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

Add QEMU to build action #58

Merged
merged 1 commit into from
Feb 13, 2025
Merged

Add QEMU to build action #58

merged 1 commit into from
Feb 13, 2025

Conversation

mpolitze
Copy link
Contributor

Overlooked that QEMU needs to be set up for multi-platform builds... sorry.

Should fix issue in #54 (comment)

@mpolitze mpolitze mentioned this pull request Feb 13, 2025
@koppor
Copy link
Member

koppor commented Feb 13, 2025

Fixes #52

@koppor koppor merged commit 00ec872 into dante-ev:main Feb 13, 2025
1 check passed
@koppor
Copy link
Member

koppor commented Feb 13, 2025

@mpolitze Thank you for the quick follow-up. I will merge - let's see what the pipeline says ^^

Current build hang after 30 mins, I try to restart - https://github.com/dante-ev/docker-texlive/actions/runs/13303938965/job/37150580864

Update My web browser did not show everything at the beinning. It hang at

#22 exporting to image
#22 exporting layers

I just need to be patient...

@koppor
Copy link
Member

koppor commented Feb 13, 2025

Side track: Maybe this long build times prevent #56 being finished... - Maybe, #51 will never happen in a clean way.

@mpolitze
Copy link
Contributor Author

@koppor Tanks for trying this out... I will need to get some time, to create a better testing environment in my fork to track down the issue.

I don't want to slow stuff down. Maybe for now just comment out/remove the QEMU and buildx steps and remove the arm64 plattform (https://github.com/dante-ev/docker-texlive/blob/main/.github/workflows/publish.yml#L48-L58).

Sorry for the struggles.

@koppor
Copy link
Member

koppor commented Feb 13, 2025

@mpolitze I can provide you full access 😅 Full trust ahead 😅

@koppor
Copy link
Member

koppor commented Feb 13, 2025

The slow down is IMHO not (!) because of your changes! 😅😇

@mpolitze
Copy link
Contributor Author

I still fear it was my change. After monitoring some builds: the emulated arm64 build is very slow in installing dependencies via apt-get. So far I have done that only for much smaller containers where this was not so much of an issue.

So, first analysis shows: the slow packages seem to be slow reproducibly. Some examples:

  • Setting up wget ~100 seconds 1 and 2
  • Processing triggers for libc-bin after Inkscape ~100 seconds 1 and 2
  • Setting up libtest-log-dispatch-perl ~100 seconds 1 and 2

I assume they do some compiling or other CPU intensive work that is slow on QEMU. What slightly puzzles me is that all delays I have observed are always pretty close to 100 seconds... that seems more like a timeout than a coincidence.

Just throwing out the arm64 platform in the drastically speeds up the process - the amd64 image builds in about 2 minutes.

I will take a look if things can be speeded up - both my Mac and Raspberry Pi a waiting for an arm64 image 😢

@koppor
Copy link
Member

koppor commented Feb 14, 2025

For font caching, we need 10 minutes? Thus, I would not need to worry, because of 2 minutes

However, for sure, we could use the native ARM runners: https://github.blog/changelog/2025-01-16-linux-arm64-hosted-runners-now-available-for-free-in-public-repositories-public-preview/

(I currently have no experience with them)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants