Skip to content

Conversation

@tleb
Copy link
Member

@tleb tleb commented Feb 18, 2025

According to GitHub's documentation, actions have access to 4 CPUs. Exploit those.

Untested. I tried using the act project to run GitHub actions locally but got some errors. Let's see what this PR's actions say.

@tpetazzoni
Copy link
Contributor

Why not about building in parallel, but your other commit to update Ubuntu will I believe no longer apply as we updated to Ubuntu 24.04. I don't think we want to use "latest" as this will change "magically" over time, making things not reproducible, and breaking without us actually wanting an update. Could you drop this commit from the PR (it's unrelated to the PR topic anyway)

@miquelraynal
Copy link
Contributor

Hello @tleb, can you update this PR? Or is it no longer relevant and we can close it?

According to GitHub's documentation, actions have access to 4 CPUs [0].
Exploit those.

[0]: https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories

Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
@tleb tleb force-pushed the parallel-github-actions branch from bac47a0 to 9ad6a69 Compare November 3, 2025 18:12
@tleb
Copy link
Member Author

tleb commented Nov 4, 2025

No it is still relevant, just that it is broken. The goal is to be able to do make -j$(nproc) for the GitHub actions. But before that, parallel compilation must be working and it isn't (see how all the tests failed).

I read a bit the Makefile this morning, and I think our main issue is with:

training-materials/Makefile

Lines 243 to 260 in 349470e

#
# === Compilation of agendas ===
#
ifdef AGENDA
AGENDA_TEX = agenda/$(AGENDA)-agenda.tex
AGENDA_PICTURES = $(COMMON_PICTURES) $(call PICTURES,agenda)
%-agenda.pdf: common/agenda_old.sty common/agenda.sty $(AGENDA_TEX) $(AGENDA_PICTURES) $(OUTDIR)/last-update.tex
rm -f $(OUTDIR)/$(basename $@).tex
cp $(filter %-agenda.tex,$^) $(OUTDIR)/$(basename $@).tex
(cd $(OUTDIR); $(PDFLATEX_ENV) $(PDFLATEX) $(basename $@).tex)
(cd $(OUTDIR); $(PDFLATEX_ENV) $(PDFLATEX) $(basename $@).tex > /dev/null 2>&1)
cat $(OUTDIR)/$@ > $@
else
FORCE:
%-agenda.pdf: FORCE
@$(MAKE) $@ AGENDA=$*
endif

Notice how shared targets will be attempted in different make processes. How to fix? We should remove this sub-make process instantiation.

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.

3 participants