hi folks,
tl;dr: can we stop building/testing master on bionic for a better GCC?
long story: two months ago, we migrated[0] our CI jobs running "make
check" from ubuntu/bionic to ubuntu/focal so we have access to more
packages offered by focal for testing.
but we are still suffering[1] from the ancient packages offered by bionic:
- buggy tcmalloc. see
https://github.com/ceph/ceph/pull/41340
- GCC 7.5.0 shipped along with ubuntu/bionic. i think the support of
std::filesystem is just the tip of the iceberg, as we've migrated to
C++17, there will be more and more demand for a compiler and a
standard library with better C++17 (and C++20 in future) support.
GCC-7 has good support[2] of C++17, but that does not imply that
libstdc++ shipped along with GCC-7 has.
but we have to build and test on bionic[3], for couple reasons:
- some upgrade tests from octopus are performed on bionic. for
instance, see
https://github.com/ceph/ceph/tree/master/qa/suites/upgrade/pacific-x/parall…
- cosbench used by perf tests needs bionic: see
https://tracker.ceph.com/issues/49139
- // please note rados/thrash-old-clients/distro$/ubuntu_18.04.yaml is
safe even after we stop building master on bionic, as we've
switched[4] to cephadm for thrash-old-clients
and because of
https://tracker.ceph.com/issues/50218, we cannot use
ubuntu-toolchain-r PPA repo for newer GCC.
so, i propose we
- drop building/testing master on bionic.
- drop the upgrade test from pacific on bionic
- drop the cosbench workload from rados/perf test suites
what do you think?
--
[0]
https://tracker.ceph.com/issues/49653
[1]
https://github.com/ceph/ceph/pull/41433#discussion_r636604231
[2]
https://gcc.gnu.org/projects/cxx-status.html
[3]
https://github.com/ceph/ceph-build/pull/1794#issuecomment-815435506
[4]
https://github.com/ceph/ceph/pull/32377