Kubilay Kocak was super kind to provide us two FreeBSD buildbot workers for many years: FreeBSD STABLE and CURRENT. Last week, he removed his workers. Thanks Kubilay!
I contacted some FreeBSD developers around and things are moving on quickly! test_gdb and test_tempfile got fixed on FreeBSD. By the way, macOS should benefit of the test_gdb fix, the test was always skipped on macOS when Python was built with clang. test_tarfile has pending fix.
Ed Maste just added a new Cirrus-CI job to GiHub Actions: FreeBSD 13.2 amd64 on the Python main branch. The job is “non voting” (not mandatory). See the
.cirrus.yml configuration file. This platform runs on Google Cloud Platform (GCP). The surprising part is that tests are run as root (uid 0, gid 0)! It allowed Ed to work around an issue of the FreeBSD GCP image: TCP blackhole is enabled. The job just runs
sysctl net.inet.tcp.blackhole=0, command which requires root!
By the way, thanks Ee Durbin for enabling (quickly!) the Cirrus-UI platform in the GitHub cpython project!
For now, only the stable FreeBSD version 13.2 is tested and only on the Python main branch. There are on-going discussions to add FreeBSD CURRENT (FreeBSD 14 and/or FreeBSD 15) buildbot workers. Later, I would also be interested to support “old stable” versions like FreeBSD 12 (EOL at the end of the year). But only if it doesn’t give me too much maintenance work
Depending on the progress, I may consider enabling the Cirrus CI on Python 3.11 and 3.12 branches. The buildbot worker is already running on these branches.
By the way, if a core developer is interested to help me fixing FreeBSD issues specific, contact me! I would be interesting to consider promoting FreeBSD as a Tier-2 platform!
Thanks to everybody who helped me to make all of this possible
If you have any issues with FreeBSD, you can contact me (or just reply below).