| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
The default of N_PROC follows the machine; -DN_PROC still overrides it.
OSX target when generating on another host, symbol lookups by bisection (pandas is no longer used), one preamble parse per process, smaller collections chunks.
Same recipe as Windows: the OSX headers come from the SDK the job already downloads, the symbols from the osx-64 occt package (the virtual __osx package has to be declared on a Linux host). The SDK is the sysroot, so that the host's glibc stays out of the include path; the include layout is chosen by PLATFORM, which the native macOS job still sets from the host. The occt version of the symbol dumps is read from environment.devenv.yml, the one place it is pinned; the Windows dump had stayed at 8.0.0, and members new in 8.0.1 were missing from the Windows bindings.
The generator walks sets in many places; with hash randomisation every run orders enums, members and collection chunks differently, and one V3d member came and went. Pinning the seed at the command that runs bindgen covers CI and local builds alike.
The five collections chunks of 100 were 5 GB translation units each and met at the end of the build; at 25 the largest unit is 3.2 GB and four jobs fit the runners. The Mac step had a space after its line continuation, which ended the cmake command before the build type and the SDK: OSX was compiled without optimisation.
sccache with the GitHub Actions cache backend. The generation is reproducible, so the translation units a commit does not touch are hits. SCCACHE_GHA_VERSION namespaces the keys: bumping it starts from an empty cache.
| Back | FazBrowse Home | New Git URL |
While working on #226 I waited four hours for every CI run of the bindings, most of it on steps that repeat the same work. The same jobs now take about 1h50 from scratch and 37 minutes when the object cache hits, on the same free runners. Six commits, one idea each:
Also fixed:
Depends on CadQuery/pywrap#66.