aui icon indicating copy to clipboard operation
aui copied to clipboard

Creating reliable software on github actions?

Open Alex2772 opened this issue 6 months ago • 7 comments

Created from #504.

I want to create reliable software that runs on any shitty os including 7 but unfortunately github does not want me to do that, dropping support and pushing windows 11 lobbying their own interest and forcing me to use latest runners and breaking my pipelines, basically acting like pussies. I'm looking for moving to gitlab because:

  1. they are preparing conan repository, gh doesn't care
  2. gh constantly breaks my pipelines because gh doesn't want to support older versions of their own shitty os

I can find a way to solve this puzzle on linux and macos but on windows I need to find a way to cross compile to windows 7. Right now it is temporary solution for making precompiled binaries that would not run on my windows 10 machine. No thanks bastards, I'll not update to 11 because spam clicking start menu consumes 100% cpu because you can't write good software anymore, prompting to use react, lol, hire normal developers please.

  • [ ] Backward compatibility with Windows XP
  • [ ] Backward compatibility with Ubuntu 14.04

Alex2772 avatar Jul 05 '25 12:07 Alex2772

I'm looking forward to support the latest version that runs on x86_64 macs (sequiola).

Linux executables should be compiled on ubuntu 14.04 or older. The reason for that not because linux is pussy os, this is because linux sucks by design as usual.

I want to support ancient windows machines because there are lot of them. And windows is really good at backward compatibility. Three's no reason to keep ancient versions of macos and linux.

Alex2772 avatar Jul 05 '25 12:07 Alex2772

As soon as I won't update my Windows 10 system, freshly built binaries from github actions pulled by aui.boot won't run.

Image

Update: on my Windows 11 machine, which I didn't update in a decade, able to run flawlessly.

Alex2772 avatar Aug 24 '25 12:08 Alex2772

@luadebug should be enforce /MT//MTd?

Alex2772 avatar Aug 24 '25 12:08 Alex2772

#8 #414

Alex2772 avatar Aug 24 '25 12:08 Alex2772

@luadebug should be enforce /MT//MTd?

I think developer should be free to choose between MT/MTd or MD/MDd by CMAKE_MSVC_RUNTIME_LIBRARY, but in case of Windows XP context we have to enforce MT/MTd for VC-LTL5 in order to make VC-LTL5 to work smoothly https://github.com/Chuyu-Team/VC-LTL5.

I kept original behavior of MD/MDd if runtime is not specified, originally it is harder to deal with MT/MTd, as MT/MTd picky.

vcpkg defines MT as default runtime, but xmake defines MD as default runtime.

luadebug avatar Aug 24 '25 13:08 luadebug

Thanks for useful information!

I think developer should be free to choose

Fair point.

So, if we keep supporting MD/MDd, how we can manage to support outdated Windows 10? My system is one week old and even such a small period of no update breaks compatibility. No reason to say many people opt to disable Windows Update.

Maybe we can target older "Windows SDK"? We don't use new features anyway.

Alex2772 avatar Aug 24 '25 14:08 Alex2772

Thanks for useful information!

I think developer should be free to choose

Fair point.

So, if we keep supporting MD/MDd, how we can manage to support outdated Windows 10? My system is one week old and even such a small period of no update breaks compatibility. No reason to say many people opt to disable Windows Update.

Maybe we can target older "Windows SDK"? We don't use new features anyway.

In order to keep track on tools that was used during building binaries, it is common sense to use CMake toolchain files and using dockerfiles at Github workflows? If we try to build with v141 toolset would it work for Windows 7?

https://learn.microsoft.com/en-us/lifecycle/faq/visual-c-faq

@@@

Maybe we should look into dockerfile with Linux that cross-compiles with MSVC compiler for Windows, as dockerfiles would work only for Linux in terms of github actions. Windows dockerfile is impossible to use and I did not check for MacOS X dockerfiles existance, as I am pretty sure it can be deployed on Linux docker as well?

luadebug avatar Aug 24 '25 14:08 luadebug