-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
- Fetching the external tarballs is dreadfully slow
- Caching them based on the hash of
download.lstand the hashes of the files in theexternaldirectory seems sufficient
- Caching them based on the hash of
- Hosted runners effectively only have 13 GiB of working space
- The volume mounted at C: has more space, this is used as a workaround in other large projects like Blender
- Ideally, having something like sccache working reliably would make builds faster and use less space, but according to the LibreOffice wiki it isn't reliable
- Alternatively, automatically calculating the dependency graph from the make file would mean:
- We can split the build into multiple jobs, taking advantage of workflow concurrency to build faster
- We can copy only the necessary target files and not the intermediate build objects, reducing the required space
- Someone actually understands the custom build system created for OpenOffice/LibreOffice
- The
translationsanddictionariesdirectories have many files and add up to ~1.75 GiB- Some languages take up much more space than others, and we currently only build for
en, so- Dictionaries do not respect the configured language list, so we changed
dictionaries/Module_dictionaries.mkto prevent building additional languages - We tried using a sparse checkout to avoid fetching the unused language files, but they caused some things to break
- Dictionaries do not respect the configured language list, so we changed
- Some languages take up much more space than others, and we currently only build for
- LibreOffice's makefiles assumes that
core.gitis the top-level git directory, not nested as a subtreemake fetchassumes the repo is an expanded tarball. Tarball release checks were removed- For a non-obvious reason, this broke the build for
winaccessibilitywhen compiling the IDL files midl : error MIDL9008 : internal compiler problem, doesn't actually have a workaround in the MS documentation like the message suggests- The error
midl: Assertion failed: hr == S_OK, file com\rpc\midl\front\filehndl.cxx, line 1023seems specific to LibreOffice- Some others from LibreOfficeChina also encountered this, but it seems no one found a solution
- Building it out of band with
cd winaccessibility && make CustomTarget_winaccessibility/ia2/idlworks 🤷
Cygwin Weirdness
There are not specific to GitHub Actions, but more along the lines of things we had to do in order to get a build going at all.
autogen.shby default will not find the appropriate pieces of Visual Studio 2019 to necessary to build certain externals such asexpatvcvars64.batneeds to be run before the Cygwin environment is setup, then everything builds- Some externals mess up the environment variables after being built, and break further steps in the builds process
- Manually building the externals' dependencies and then the externals themselves resolves this:
make solenv zlib libpng freetype expat fontconfig cairo icu openssl libffi python3 nss boost
- Manually building the externals' dependencies and then the externals themselves resolves this:
skececi