-
Notifications
You must be signed in to change notification settings - Fork 164
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: Switch CI configuration to boostorg/boost-ci #642
Comments
Yeah. I'd like to remove Clang 3.5, 3.6, 3.7 and 3.8 from the GitHub Actions (=GHA) workflows and would have done so already in #640 to get rid of building on Ubuntu 16.04 completely. GHA does not support Ubuntu 16.04 anymore anyway, so keeping it is not a viable option. And Clang version 3.8 and earlier are not available via the currently used APT repository anymore, even when switching to a newer Ubuntu version for builds. This means that there is no "easy" way to install those compilers via For reference: https://releases.llvm.org/. Clang 3.5 was released in September 2014, almost eight years ago. Clang 3.8 was released in March 2016, i. e. six years ago. PS: As a general idea, we should probably make sure that the existing CI pipelines pass (except for the outdated stuff that may potentially get removed). Otherwise we may just be migrating existing build failures to another CI configuration with boost-ci. |
Yes, this is an ideal plan. We, however, do what we can i.e. w.r.t. man power. So, your contributions to our CI are godsend.
First, let's summarise where we currently are:
We should follow similar plan w.r.t. to clang and any other compiler we support. It is likely that we will require C++17 as minimum standard some time soonish, but we need to be considerate and well-behaving part of Boost. See the 2020 thread Shall we switch to C++17?/10/0465.php), where the most important part to consider is Peter Dimov's sensible suggestion that applies to any C++ version, not just C++03:
/cc @boostorg/gil-developers |
I am all in to move to Boost.CI and standardized configuration that would help with the maintenance. I prefer a limited set of compilers:configurations to a CI that fails for obscure reasons.
OK with me, and I agree that we need to move forward with respect to the community. As a user of Boost.GIL, I get my dev env (and the Boost libraries) from Conda and can use the latest compilers on all platforms, so dropping support for 5yo compilers is not a problem. I am not saying that we should. |
I agree. Ideally, if the CI is defined in some sort of fan-out fashion like Boost.Geometry build on CircleCI, with inter-job or even inter-workflow dependencies, For example, our GitHub Actions could run sequence of inter-dependant workflows:
I think this may be possible with GHA features like dependant jobs and Such approach, which I think I'm in favour of, would justify resignation from the switch to boost-ci as we would have to have full control on the GHA workflows. |
I think it's a good idea to have separate pipelines for core / extensions and different groups of compilers / std. It will give use a much better idea of the location / severity of failing pipelines. I understand that Boost.CI is not flexible enough to implement this approach though. |
I have moved the planning towards C++14/17 to discussion here #676 |
Travis CI is dead. Our CI has rotten. We should consider optimising and eliminate inefficient, repeated builds, improve CI maintenance.
The https://github.com/boostorg/boost-ci offers Boost-standardized configuration for all major CI services.
It is compelling to switch our home-grown configuration to it. So, let's discuss it.
Major issues with boost-ci that we need to address:
b2 libs/<lib>/test
.apt
,conan
orvcpkg
)Playground
The text was updated successfully, but these errors were encountered: