Skip to content
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

GitHub CI: Add macos-14 #690

Merged
merged 3 commits into from Apr 7, 2024
Merged

GitHub CI: Add macos-14 #690

merged 3 commits into from Apr 7, 2024

Conversation

quark17
Copy link
Collaborator

@quark17 quark17 commented Apr 7, 2024

GitHub now offers macos-14 runners, with M1 (arm64) hardware. This PR adds macos-14 to the matrices for build/test of BSC and build of the docs, and it bumps to macos-14 (from macos-12) the job for testing with the latest GHC.

It also adds to the testsuite a capability for querying the MACHTYPE, which is used to support different divide-by-zero on the arm VM than the x86_64 VMs. (See issue #688.)

Now that GitHub supports macos-14 as a target, include it in the matrix
for building/testing BSC and for building the docs.  And have the
testing of the latest GHC be done on macos-14.
Installing with pip3 on the macos-14 VM gives an error that the python
environment is externally managed.  It suggests using brew to install
packages, or else to create a virtual environment (with "venv"), or
use pipx to manage a virtual environment for you.  Unfortunately, the
brew install doesn't seem to be visible on the older VMs.  It may be
possible to use the same "venv" commands across VMs, but it's easy
enough to check the macOS version and use brew or pip3 to install as
appropriate.
The divmod tests fail on arm64, because the tests are expecting SIGFPE
error to be raised, but ARM does not.  This may need to be addressed in
the code generation for Bluesim, but in the meantime, update the test
to expect no error when the MACHTYPE is arm64.

A new "which_mach" procedure in the testsuite allows querying MACHTYPE.

Found an old test that was calling "uname -m" to get the machtype, and
test for x86_64.  This could be replaced with a call to "which_mach",
but the use was to workaround a bug in iverilog 0.8.3, which is older
than we need to support, so instead the code is just removed.
@quark17 quark17 merged commit 388a61e into B-Lang-org:main Apr 7, 2024
49 checks passed
@quark17 quark17 deleted the add-macos14 branch April 7, 2024 08:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant