andreasbuhr / cppcoro

A library of C++ coroutine abstractions for the coroutines TS
MIT License
364 stars 53 forks source link

Integrate all #3

Closed Garcia6l20 closed 4 years ago

Garcia6l20 commented 4 years ago

Fixes clang build on github workflow

Garcia6l20 commented 4 years ago

see https://github.com/Garcia6l20/cppcoro/actions/runs/301813922

andreasbuhr commented 4 years ago

Thank you so much for your work @Garcia6l20 , this is great.

The integrate_all branch here has the purpose to test whether everything combined works as expected. But because everything is mixed in integrate_all, we cannot create nice pull requests for Lewis Baker from integrate_all. Could you please create pull requests towards the topic branches?

So the changes in .github/workflows/cmake.yml should go into https://github.com/andreasbuhr/cppcoro/tree/add_github_actions

The changes in cmake/FindCppcoroCoroutines.cmake should go into https://github.com/andreasbuhr/cppcoro/tree/add_cmake_support

And the changes in include/cppcoro/generator.hpp are not needed any more, as Lewis just merged https://github.com/lewissbaker/cppcoro/pull/156 . I will merge it into the branches on andreasbuhr/cppcoro soon.

Garcia6l20 commented 4 years ago

Yes I will, thanks to you for managing all of this ! However I'm a bit scared that I'll not be able to propose the io_ring version with github actions working. Ubuntu's kenel is < 5.6 so IO operation will not work. I also tried to use a workflow based on containers but it looks like io_ring operations result in Operation not permitted on docker.

Do you know If someone succeeded in IO implementation using something more usual that io_ring ? Maybe epoll ?

andreasbuhr commented 4 years ago

Thanks for bringing my attention to the problem of testing an io_uring backend on Ubuntu. I was not aware of that problem. There is this epoll-backend which we could brush up for a new pull request: https://github.com/lewissbaker/cppcoro/pull/64. Still, it would be nice to have support for both backends in cppcoro.

andreasbuhr commented 4 years ago

I just installed Ubuntu 20.10 beta. It has the 5.8.0 kernel. So as soon as Ubuntu 20.10 is widely available, there is a platform for testing. Unfortunately, Ubuntu 20.10 is not an LTS, so let's see whether we'll get it in Github Actions.