Skip to content
This repository has been archived by the owner on Dec 18, 2022. It is now read-only.

GH Actions: revert CMAKE_BUILD_TYPE to RelWithDebInfo #590

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Be-ing
Copy link
Contributor

@Be-ing Be-ing commented Sep 7, 2021

It is impractical to get backtraces from users if debug info is
not shipped.

Checklist
  • I have signed off my commits using -s or Signed-off-by* (See: Contributing § DCO)
  • I made sure the code compiles on my machine
  • I made sure there are no unnecessary changes in the code*
  • I made sure the title of the PR reflects the core meaning of the issue you are solving*
  • I made sure the commit message(s) contain a description and answer the question "Why do those changes fix that particular issue?" or "Why are those changes really necessary as improvements?"*

* indicates required

It is impractical to get backtraces from users if debug info is
not shipped.

Signed-off-by: Be <be@mixxx.org>
@emabrey
Copy link
Member

emabrey commented Sep 7, 2021

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.

@Be-ing
Copy link
Contributor Author

Be-ing commented Sep 8, 2021

So what? I don't think its acceptable to never get backtraces from Windows or macOS users.

@AnotherFoxGuy
Copy link
Contributor

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

@Be-ing
Copy link
Contributor Author

Be-ing commented Sep 8, 2021

That's a problem. We should ship PDBs.

@Be-ing Be-ing mentioned this pull request Sep 8, 2021
2 tasks
@Be-ing
Copy link
Contributor Author

Be-ing commented Sep 8, 2021

Windows is not Alpine Linux. Optimizing for size is silly IMO.

@AnotherFoxGuy
Copy link
Contributor

But do we really want to create half a GB artefact for every build?

@Be-ing
Copy link
Contributor Author

Be-ing commented Sep 8, 2021

Half a GB? I don't think PDBs will be that big. We don't need PDBs for the dependencies, just the application.

@Be-ing
Copy link
Contributor Author

Be-ing commented Sep 8, 2021

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.

@AnotherFoxGuy
Copy link
Contributor

Windows builds with RelWithDebInfo are 300 MB

The windows build isnt the problem, the issue is that the Ubuntu executable is 300 MB

@Be-ing
Copy link
Contributor Author

Be-ing commented Sep 8, 2021

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?

@Be-ing
Copy link
Contributor Author

Be-ing commented Sep 8, 2021

Innosetup uses LZMA by default. So I am puzzled why the Innosetup installer is so big.

@AnotherFoxGuy
Copy link
Contributor

The windows build isn't the problem, the issue is that the Ubuntu executable is 300 MB

@Be-ing
Copy link
Contributor Author

Be-ing commented Sep 8, 2021

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.

@leio
Copy link
Member

leio commented Sep 8, 2021

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 MinSizeRel achieves that, or why wouldn't we use just Release (which I also don't know if it'll keep symbols for basic backtrace support). But maybe we want more than basic backtraces.

@Be-ing
Copy link
Contributor Author

Be-ing commented Sep 8, 2021

I'm confused. What does the Ubuntu executable size have to do with this?

@leio
Copy link
Member

leio commented Sep 8, 2021

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.

@Be-ing
Copy link
Contributor Author

Be-ing commented Sep 8, 2021

The complaint was about Windows builds, not Ubuntu.

@leio
Copy link
Member

leio commented Sep 8, 2021

@n0toose
Copy link
Member

n0toose commented Sep 11, 2021

I guess we spotted the "some weird reason"?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants