-
-
Notifications
You must be signed in to change notification settings - Fork 49
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
[Feature Request] Official FreeBSD support #261
Comments
Bizarreness. Clearly, FreeBSD is stranger even than I dared to contemplate. Thankfully, our test suite routinely passes under all officially supported platforms – including Linux, macOS, and Windows. Unthankfully, I have no reasonable means of testing migraine-inducing *BSD issues at the moment. I don't have a *BSD machine or VM at the moment; I barely have sufficient volunteer time to maintain @beartype on the three platforms we do officially support. Allow me to wave my hands wildly about. Our continuous integration (CI) pipelines leverage GitHub Actions. That's good. GitHub Actions currently fails to offer a FreeBSD runner. That's bad. Without official support from Microsoft here, it's unclear either how or when exactly @beartype will be able to support Linux-adjacent platforms like FreeBSD and NetBSD. I feel the sadness and possible anger you also feel. 😞 😥 Let's quietly leave this open until Microsoft releases a *BSD runner to the huddled masses. Until then, please accept my heartfelt apology and a hollow promise to do better by the Butlerian Jihad of 201 BG. ← ...heh. |
test_coerce_hint_any()
unit test fails
Well, yes. Technically, you can run FreeBSD via third-party actions in simplistic pipelines devoted entirely to FreeBSD. Pragmatically, our pipeline is anything but simplistic; those actions don't appear to offer a usable Docker image that integrates with the standard @beartype needs something standard like this: # In our ".github/workflow/python_test.yml" file:
...
# ....................{ MAIN }....................
jobs:
# ...................{ TESTS }...................
# Job iteratively exercising our test suite against all Python interpreters
# supported by this package (and also measuring the coverage of that suite).
tests:
# ..................{ MATRIX }..................
strategy:
matrix:
# List of all platform-specific Docker images to test against,
# including:
# * The latest Long-Term Service (LTS) release of Ubuntu Linux, still
# the most popular Linux distro and thus a sane baseline.
# * The latest *whatever* release of Microsoft Windows. Although Linux
# and macOS are both POSIX-compliant and thus crudely comparable from
# the low-level CLI perspective, Windows is POSIX-noncompliant and
# thus heavily divergent from both macOS and Linux.
# * The latest *whatever* release of Apple macOS. We don't particularly
# need to exercise tests on macOS, given the platform's patent
# POSIX-compliant low-level similarities to Linux, but... what the
# heck. Why not? Since this is the lowest priority, we defer macOS
# testing until last.
platform: [ubuntu-latest, windows-latest, macos-latest]
# ^------ *THIS IS WHERE @beartype NEEDS A "freebsd-latest" DOCKER IMAGE* For @beartype to support FreeBSD, we really need GitHub itself to natively support FreeBSD with a |
Version 0.16.0 has 2 failing tests:
FreeBSD 13.2 |
Yikes. That's genuinely awful. Python's official FreeBSD port doesn't appear to conform to the same API as Python's official Linux, macOS, and Windows ports. I have a dim inkling of what may be happening here – but only a dim inkling. The underlying culprit? Probably the private The GitHub itself is unlikely to offer FreeBSD runners for GitHub Actions anytime soon. It kinda looks like I should locally spin up a FreeBSD virtual machine at some point in the near future. This is already bad and only getting worse. FreeBSD: y u gotta be so different, huh? 😮💨 |
I have the instructions on how to install FreeBSD and compile the port and run tests:
|
Awesome-sauce. Thanks so much for that exhaustive (and probably exhausting) write-up. Because I am lazy, I shouldn't promise that I will do this immediately or even soon. But I should do this sooner than later. Please prod me with a ping here if I fail to do this by the end of the year. FreeBSD is a super-fun platform. It's shameful that @beartype currently fails FreeBSD. Those test failures kinda suggest that the CPython port for FreeBSD is currently failing FreeBSD, too. I promise that @beartype and FreeBSD will be best buddies sometime in 2024. Of course, I promise much and deliver even less. This must be why I live in a cottage in the Canadian wilderness. 🥲 Oh – and I have an obnoxious question. Clearly, you are the FreeBSD domain expert here. What's the easiest and sanest way to install different CPython versions (e.g., CPython 3.10, CPython 3.11) under FreeBSD? Would that be via the official Ports toolchain as well or would something like the third-party CPython 3.9 is great, but it would be even greater to test any potential resolution of these issues against CPython ≥ 3.10 as well. |
Thank you! |
You're too kind, @yurivict. No, seriously. It is dangerous to thank me too soon. I'll probably end up sidetracked with something completely unrelated and then shamefully forget all about this. Please prod me with a blunt stick if I don't do this by the end of the year. 🪵 |
Version: 0.15.0
Python-3.9
FreeBSD 13.2
The text was updated successfully, but these errors were encountered: