Swift's python2 to python3 migration

Hello friendly Swift developers,

As many of you may know, the Python Software Foundation decreed that Python 2 is no longer supported as of the beginning of this year. The Swift build uses python for tooling, and many of those scripts were python 2 specific. The work to migrate the portions of the Swift build that are under CI to python 3 is complete! This involved updating the tools to be both python 2 and python 3 compatible, updating the infrastructure to select the correct version of the python interpreter, and migrate the tests and testing harness to python 3. There is one last thing - removal of the Python 2 interpreter check that will enable building Swift on a system without any trace of Python 2.

This work covers the macOS, Windows, Linux (Ubuntu 18.04, 20.04, CentOS 7, 8, Amazon Linux 2) builds. The benchmarks test suite have also been been moved over.

This was not something done alone, and I would like to recognize the work that @graskind, @tbkka, @drexin, @mishal_shah, and others I'm sure that I am forgetting, did to help with this transition.

Saleem

52 Likes

Congrats!

So neat, I didn't even know Swift used Python this way! Nice to see it off Python 2