NeotokyoRebuild / neo

NEOTOKYO Rebuild - Source SDK 2013 mod of NEOTOKYO
Other
11 stars 9 forks source link

Add GitHub Actions workflow #492

Closed Masterkatze closed 11 hours ago

Masterkatze commented 1 week ago

Description

xedmain commented 5 days ago

couldn't "RelWithDebInfo" be renamed to just "Release"?

xedmain commented 5 days ago

libraries for both windows and linux seem to still come as bin/* instead of neo/bin/*, in case this isn't intended

Masterkatze commented 5 days ago

libraries for both windows and linux seem to still come as bin/* instead of neo/bin/*, in case this isn't intended

That was unintended, thanks for noticing.

Rainyan commented 5 days ago

couldn't "RelWithDebInfo" be renamed to just "Release"?

RelWithDebInfo seems more accurate, since that's what it is.

xedmain commented 5 days ago

couldn't "RelWithDebInfo" be renamed to just "Release"?

RelWithDebInfo seems more accurate, since that's what it is.

if github actions are gonna be used as a source of getting the latest version of the game for playtesters, having it called "Release" rather than "RelWithDebInfo" seems to be easier to find, even if it's less accurate

AdamTadeusz commented 4 days ago

image What am I doing wrong

xedmain commented 4 days ago

how come following cli guide and picking "linux-release" preset built THIS image using sniper (steamrt3) docker btw

xedmain commented 4 days ago
$ file client.so
client.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=df52aa5838479ec386e4a9c2bf57f55f89d8ba76, with debug_info, not stripped
Masterkatze commented 4 days ago
$ file client.so
client.so: ... with debug_info, not stripped

It's correct because (windows/linux)-release profiles are RelWithDebInfo.

I think there is a confusion possible because now these profiles are more suitable for CI rather than developer use. If we want to 1:1 match between profile name and presence/absence of debug info then I think I'll rework this a little, something like this:

  1. With -DNEO_CI_BUILD=OFF (default):

    • linux-debug is Debug, linux-release is Release;
    • -DNEO_USE_SEPARATE_BUILD_INFO=OFF (so you can debug it as usual);
  2. With -DNEO_CI_BUILD=ON`:

    • linux-debug is Debug, linux-release is RelWithDebInfo (renamed to Release for artifact names);
    • -DNEO_USE_SEPARATE_BUILD_INFO=ON (so we can debug crashdumps);

I don't know if we need to add other CMake build types to profiles, if someone need RelWithDebInfo or MinSizeRel then it's still possible to build without profiles (the usual -S and -B).

xedmain commented 4 days ago

I don't know if we need to add other CMake build types to profiles, if someone need RelWithDebInfo or MinSizeRel then it's still possible to build without profiles (the usual -S and -B).

huh, I thought the presets are like the new, better way to do it replacing the default way. Atleast that's how it looks like, with there not being info on the previous way in the README.md

doesn't "RelWithDebInfo" CI still have the release binaries separated from the debug information? which is why they're ~9mb in size in your actions. That's why I thought it would do the same if I used the "linux-release" preset.

Masterkatze commented 4 days ago

doesn't "RelWithDebInfo" CI still have the release binaries separated from the debug information? which is why they're ~9mb in size in your actions. That's why I thought it would do the same if I used the "linux-release" preset.

CI build uses -DNEO_USE_SEPARATE_BUILD_INFO=ON

xedmain commented 4 days ago

doesn't "RelWithDebInfo" CI still have the release binaries separated from the debug information? which is why they're ~9mb in size in your actions. That's why I thought it would do the same if I used the "linux-release" preset.

CI build uses -DNEO_USE_SEPARATE_BUILD_INFO=ON

I see, I'll try building with that rn. I'm not sure about for developers, but imo as a playtester that could probably be set by default for release? Unsure what your specific plans are.

Masterkatze commented 4 days ago

I'm not sure about for developers, but imo as a playtester that could probably be set by default for release? Unsure what your specific plans are.

I think that playtesters should use the builds only from CI (with separate debug info). Developers can build whatever they want.

xedmain commented 4 days ago

I'm not sure about for developers, but imo as a playtester that could probably be set by default for release? Unsure what your specific plans are.

I think that playtesters should use the builds only from CI (with separate debug info). Developers can build whatever they want.

I suppose. I guess it being called "release" and having debug info makes sense for developers, considering the differences between the two or something, yeah. Also -DNEO_USE_SEPARATE_BUILD_INFO=ON worked, neat.