-
-
Notifications
You must be signed in to change notification settings - Fork 254
GH Actions: revert CMAKE_BUILD_TYPE to RelWithDebInfo #590
base: master
Are you sure you want to change the base?
Conversation
It is impractical to get backtraces from users if debug info is not shipped. Signed-off-by: Be <be@mixxx.org>
This change was because it increases our nightly builds from about 13MB to about 300MB and there were user complaints. If you want to add symbols then we need to configure the debug build to be way way smaller. There's really no getting around it when the size increase is so drastic. |
So what? I don't think its acceptable to never get backtraces from Windows or macOS users. |
We can't get backtraces anyway since we don't ship pdbs |
That's a problem. We should ship PDBs. |
Windows is not Alpine Linux. Optimizing for size is silly IMO. |
But do we really want to create half a GB artefact for every build? |
Half a GB? I don't think PDBs will be that big. We don't need PDBs for the dependencies, just the application. |
I think there is some other reason why the Windows builds with RelWithDebInfo are 300 MB. Comparing with Mixxx, which is a larger application with larger dependencies (Qt is huge), the Windows installer is only 74 MB. Mixxx is using the WiX CPack generator rather than Innosetup. Perhaps that is what makes the difference. |
The windows build isnt the problem, the issue is that the Ubuntu executable is 300 MB |
The Debug tenacity executable on Fedora is 146 MB whereas the Debug mixxx executable is 324 MB. Is Innosetup not compressing anything? Or using some really bad compression algorithm? |
Innosetup uses LZMA by default. So I am puzzled why the Innosetup installer is so big. |
|
That is not the problem. The Mixxx executable is much bigger yet the WIX installer for Mixxx produced by CPack is smaller. And the Mixxx installer ships PDBs. |
They are saying that this change was done for the purpose of Ubuntu package artifacts which are huge, not for Windows stuff. I also get a ~300MB main tenacity binary from default builds. We don't need all this debug stuff to get backtraces from users - that said, I haven't checked if |
I'm confused. What does the Ubuntu executable size have to do with this? |
It has to do with this, because this change was done precisely to get the Ubuntu packages coming out of CI to not be huge anymore, as told in https://github.com/tenacityteam/tenacity/pull/590#issuecomment-914682481 So this is very relevant to why people aren't agreeing with this PR - because it makes Ubuntu packages huge again, and we probably don't need 300MB of debug data just to get backtraces (on Linux, and probably also on other platforms). And as you've found out by now, it needs extra work for Windows anyhow for PDB or whatnot. |
The complaint was about Windows builds, not Ubuntu. |
I guess we spotted the "some weird reason"? |
It is impractical to get backtraces from users if debug info is
not shipped.
Checklist
-s
orSigned-off-by
* (See: Contributing § DCO)* indicates required