Repository navigation
Build on macOS beside the Linux job and compile the check build at -O0 - #35
Merged
estebanzimanyi merged 1 commit intoOct 22, 2026
Merged
Conversation
estebanzimanyi
force-pushed
the
ci/parallel-macos-build
branch
from
October 22, 2026 19:15
b03d9bc to
1a5a124
Compare
The macOS builds need the catalog the Linux job derives only to project the cdef header, so they install their Homebrew tools and build libmeos beside the Linux job and fetch the catalog once the Linux job uploads it. They derive the MEOS branch themselves and check that the catalog and their libmeos come from one MobilityDB commit. A Linux job that ends without the catalog fails them at once. The validation build compiles the generated extension at -O0. It is call glue, and -O0 compiles the 250,000-line generated source in 13.4 s against 54.5 s at -O2. Release wheels keep the interpreter's optimisation. The build also runs on a push to master or a stable branch. That run validates the merged branch and saves the Homebrew cache under its ref, which every pull request into it restores; a cache a pull request saves is readable by that pull request alone, so without it each new pull request installs the tools cold.
estebanzimanyi
force-pushed
the
ci/parallel-macos-build
branch
from
October 22, 2026 19:52
1a5a124 to
71d4480
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The PR build runs its macOS jobs beside the Linux job and compiles the validation build at -O0.
actions/upload-artifact@v4is readable as soon as it is uploaded).sourceCommitand its libmeos come from one MobilityDB commit.Install from sdistcompiles the generated extension at-O0. Release wheels (build_pymeos_cffi.yml) keep the interpreter's optimisation.Measured: the 250,000-line generated
_meos_cffi.ccompiles in 54.5 s at -O2, 27.6 s at -O1 and 13.4 s at -O0 (one local machine, other builds running, so the ratio is what carries). In the runs of the current layout the macOS jobs start after the whole Linux job, 4 to 5 minutes in, and their Homebrew step takes 65 to 129 s with a warm cache and 414 to 877 s with a cold one.Witness: a local build with
CFLAGS=-O0compiles at-O0(x86_64-linux-gnu-gcc -O0 ... -c _meos_cffi.c) andbuilder/smoke_test.pypasses on it.