Closed EricCousineau-TRI closed 2 years ago
The post above lost some of the nuance from the slack thread. My sentiment there was a "no earlier than" date, rather than a target date.
In Drake, my general principle is to support the two most recent stable releases for a given platform (Ubuntu, macOS). For Ubuntu, that means the LTS flavors; e.g., as of today we have 18.04 and 20.04 supported.
Around the time that Ubuntu 22.04 is released in late April 2022, we would want to phase out support for 18.04. A precise timeline hasn't yet been discussed. As we start ramping up 22.04 beta CI, we'd ideally like to keep the CI spend in check, so would like to start winding down 18.04. Whether we drop 18.04 support as of March, April, or May of 2022 is up for discussion.
(All of the above discussion relates to end user support. Certain developer-oriented features such as code coverage, website generation, or ubsan CI might phase out earlier.)
Previous tradition, I think, has been that we mostly just keep release builds going after the six month point before 22.04 lands, and I imagine we will keep producing binaries and Docker images right until the cut-off date. Depends on budget and whether we switch Mac to AWS, of course.
The one difference is that we have "weekly" builds now, so we can keep more tooling or configurations going for longer if we want, or at least for as long as it does not cost too much in developer time (since that dwarfs CI cost).
In January of 2022, we should announce (in our release notes) that Ubuntu 18.04 support is on its way out. This would give our users the traditional 3+ months of notice.
In the v0.37.0 release notes (#16154), I've proposed April 1st, 2022 as the drop date for Bionic.
Also note that in particular, until https://github.com/googlecolab/colabtools/issues/1880 gets resolved, dropping support for Ubuntu 18 also implies dropping support for Google Colab. Hopefully Google can upgrade to Ubuntu 20 within the next few months.
Possibly also worth mentioning directly -- dropping Ubuntu 18 means that our minimum supported Python version will bump up to 3.8 or newer. That means our wheel builds build drop 3.6 and 3.7 as of April. I believe that this is consistent with NEP 29.
Also worth a shout is #16215 -- related to drake-visualizer.
In addition to the outstanding changes in #16931 and #16938, Bionic or 18.04 is still mentioned / used in the following places:
doc/_pages/from_binary.md
and doc/_pages/docker.md
(to be removed after next release) (#16939)Various packages in tools/workspace:
tools/workspace/doxygen
(#16946)tools/workspace/drake_visualizer
(#16972)tools/workspace/vtk
(#16956)tools/workspace/intel_realsense_ros
(#16965)
tools/workspace/pygame_py
(#16959)tools/workspace/ros_xacro
(#16967)The following comments:
bindings/pydrake/common/test/deprecation_test.py
:bindings/pydrake/multibody/math_py.cc
:symbolic_py.cc
, we must also enable this for clang 9 on Bionic, as isexamples/manipulation_station/BUILD.bazel
:solvers/test/augmented_lagrangian_test.cc
:solvers/test/augmented_lagrangian_test.cc
:tools/dynamic_analysis/valgrind.supp
:tools/workspace/uwebsockets/repository.bzl
:doc/images/drake-dragon.README.txt
:Note: I haven't looked far into the difficulty of removing Bionic support from anything listed, just that it was beyond a simple one line deletion.
Stable Release instructions in doc/_pages/from_binary.md and doc/_pages/docker.md (to be removed after next release)
The required changes to the stable release documentation have been added to #16939 now.
@svenevs is going to take a look at tools/workspace/...
From Slack: https://drakedevelopers.slack.com/archives/C2NN588UA/p1590171002083800
Tentative date is ~October 2021~ early 2022. May change.
Marginally relates #13102