-
Notifications
You must be signed in to change notification settings - Fork 15
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
CI: Enable cached builds #2
Merged
Merged
Commits on Jun 10, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 71f0004 - Browse repository at this point
Copy the full SHA 71f0004View commit details -
We use the embedded debug information for MSVC, because we ran into this error message in our windows CI: ``` FAILED: 3rdparty/fmt/CMakeFiles/fmt.dir/src/os.cc.obj sccache C:\PROGRA~1\MICROS~2\2022\ENTERP~1\VC\Tools\MSVC\1440~1.338\bin\Hostx64\x64\cl.exe /nologo /TP -DKNUT_BUILDDATE=\"2024-06-07\" -DKNUT_VERSION=\"1.0\" -DKNUT_VERSION_STRING="\"1.0 (revision: c91adac)\"" -DTEST_DATA_PATH=\"D:/a/knut/knut/test_data\" -ID:\a\knut\knut\build-ci\3rdparty\fmt -ID:\a\knut\knut\3rdparty\fmt -ID:\a\knut\knut\build-ci\3rdparty\fmt\fmt_autogen\include -ID:\a\knut\knut\3rdparty\fmt\include /DWIN32 /D_WINDOWS /GR /EHsc /Zi /O2 /Ob1 /DNDEBUG -std:c++latest -MD /showIncludes /Fo3rdparty\fmt\CMakeFiles\fmt.dir\src\os.cc.obj /Fdfmt.pdb /FS -c D:\a\knut\knut\3rdparty\fmt\src\os.cc D:\a\knut\knut\3rdparty\fmt\src\os.cc: fatal error C1041: cannot open program database 'D:\a\knut\knut\build-ci\fmt.pdb'; if multiple CL.EXE write to the same .PDB file, please use /FS ``` Obviously /FS won't help, as that's already added. However, in this issue: https://gitlab.kitware.com/cmake/cmake/-/issues/20222, @mwestphal suggests that /Zi may be the issue. This makes sense, as that's what's forcing the use of a separate pdb file for debug info. If we use the Embedded format, this should fall back to /Z7, which includes the debug information within the object files themselves. So there should be no pdb file that can have lock contention.
Configuration menu - View commit details
-
Copy full SHA for 292f89f - Browse repository at this point
Copy the full SHA 292f89fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4d065a0 - Browse repository at this point
Copy the full SHA 4d065a0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6d49d30 - Browse repository at this point
Copy the full SHA 6d49d30View commit details -
ci: Use a custom caching strategy for sccache
We can adopt the strategy from CXX-Qt, which is working well. Hopefully now we get fully cached builds.
Configuration menu - View commit details
-
Copy full SHA for 7edfbf7 - Browse repository at this point
Copy the full SHA 7edfbf7View commit details -
ci: Add a cpp file for version information
This should allow us to update the version information on each commit, but still cache most of the build. The single compilation unit for version.cpp won't be cached, but everything else can be cached, as the compiler arguments won't change on every commit.
Configuration menu - View commit details
-
Copy full SHA for 3c6e34b - Browse repository at this point
Copy the full SHA 3c6e34bView commit details -
ci: Only update caches from main repository
Forks are not allowed to update the cache
Configuration menu - View commit details
-
Copy full SHA for 02161c3 - Browse repository at this point
Copy the full SHA 02161c3View commit details
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.