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

CI improvements: add macOS runners; build in parallel; disable silent rules #1511

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

ryandesign
Copy link
Contributor

@ryandesign ryandesign commented Apr 24, 2024

This adds a few more improvements to the CI setup:

See the individual commit messages for more specifics.

Fixes #1496

@linas
Copy link
Member

linas commented Apr 24, 2024

I've merged all the other pull reqs, hit the "rerun all tests" button on github, and the macos tests are still failing. I don't particularly want to merge this, until those tests pass.

Perhaps a git merge master is needed into this branch?

This makes it easier to confirm that the right flags are being passed to
the compiler.
Also do CI testing on macOS 12, 13, and 14. Not using "macos-latest"
because that currently refers to macOS 12 which is not the latest
version. It is good to test on multiple versions and on multiple
architectures. The macOS 12 and 13 runners are x86_64 while the macOS 14
runner is arm64. This list can be updated annually as new macOS versions
are released and old versions are removed from CI, or switched to
"macos-latest" once that actually points to the latest version again.

Do not fail fast; this ensures that a build failure on one runner does
not cancel the other runners so that temporarily expected failures on
one runner do not mask unexpected failures on other runners.

Use Homebrew (pre-installed on macOS runners) to install dependencies
for macOS.

Explicitly mention dependencies that are used, like autoconf, automake,
and libtool, even if they are in the set of dependencies already
pre-installed on the runners, because who knows if that will always be
the case.

Fixes opencog#1496
Build and test in parallel with as many jobs as we have been allocated
CPU cores. This should make CI runs faster and provide visibility to
parallel build problems.
@ryandesign
Copy link
Contributor Author

I've rebased this PR and now instead of failing at make due to #1495 it fails as expected at make check due to #1514.

If a fix for #1514 is not easy, I can, if you like, modify the macOS CI so that it doesn't use pcre2 for now.

@linas
Copy link
Member

linas commented Apr 25, 2024

Hi @ryandesign I replied to #1514 The fix is not hard, and if you ever wanted to learn threading, this would be an excellent starter project. In the meantime, for macos CI, either disable the multi-threading tests or disable testing pcre2. Your pick. The command-line link-parser program is not multi-threaded; users would never notice. OpenCog is heavily multi-threaded, which is where this matters, to me. As far as I know, there's no port of OpenCog to Macos. Want to engage in a crazy-stupid and pointless project?

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.

Add macOS builds to CI
2 participants