Skip to content
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 on macos-11 with the goal to not fail even if it's not supported #298

Closed

Conversation

bufferoverflow
Copy link

@bufferoverflow bufferoverflow commented Jun 16, 2023

@bufferoverflow bufferoverflow force-pushed the bufferoverflow-patch-1 branch 6 times, most recently from 7acf2d9 to ee12cd4 Compare June 16, 2023 14:05
Signed-off-by: Roger Meier <r.meier@siemens.com>
@kzys
Copy link
Member

kzys commented Jun 20, 2023

Hmm, should gitaly have a no-op implementation? Make containerd/cgroups "work" for macOS doesn't make much sense, since almost all features don't work there.

@bufferoverflow
Copy link
Author

Hmm, should gitaly have a no-op implementation? Make containerd/cgroups "work" for macOS doesn't make much sense, since almost all features don't work there.

Yes, I'm also a bit unsure. But somehow I think even if cgroups are not available on some or as per today all the non-Linux operating systems it's worth to define that precise within all the source files and provide a useful value such as Mode(). Especially to simplify peoples life who are facing a complex piece of software with tons of dependencies.

If the target os is not defined people will build mocks or no-op stubs all over the planet, why not solving this once upstream?

@adlternative
Copy link

Yes, if the cgroup upstream could consider non-Linux systems, functions like Mode() would be easier to use.

@estesp
Copy link
Member

estesp commented Jun 23, 2023

I think the core issue here is that this is a subproject exists specifically to support cgroups, which are only a Linux kernel concept today. Making the project "viable" for non-Linux has no value as there is no way to use this Linux feature on macOS natively. Our main project, containerd, imports and uses this project on multiple platforms, including macOS, without us ever having to stub the entire set of functions in this subproject, because that codebase doesn't try to use these features at all on macOS, for example.

If the target os is not defined people will build mocks or no-op stubs all over the planet, why not solving this once upstream?

I would suggest that based on the # of projects taking a dependency on this sub-project of containerd, it has not been extremely difficult or time consuming to write software that simply doesn't even try to use cgroups capabilities when the OS is not Linux. If that isn't the case with the project you are trying to make viable on macOS, maybe one of us could take a look and help in some way?

@bufferoverflow
Copy link
Author

@estesp You are right. I have no mac and so I did a short session with @max-wittig and we made it work within a short time on mac as well. Sorry for the noise here and have a great weekend!

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

Successfully merging this pull request may close these issues.

None yet

4 participants