Skip to content

Issue 1144 new continuous integration#1260

Open
LourensVeen wants to merge 18 commits into
amusecode:mainfrom
LourensVeen:issue-1144-new-continuous-integration
Open

Issue 1144 new continuous integration#1260
LourensVeen wants to merge 18 commits into
amusecode:mainfrom
LourensVeen:issue-1144-new-continuous-integration

Conversation

@LourensVeen
Copy link
Copy Markdown
Member

@LourensVeen LourensVeen commented Apr 28, 2026

This adds a whole bunch of CI workflows, one for each code, which run whenever that workflow is changed or when the code is updated. This also contains some technical fixes for various codes, where tests that are too resource intensive for the CI are disabled.

Some of the codes remain broken and need attention from an expert, but I think it's better to have a CI that tells you that things are in that state, than to not have one at all, so after I do some more cleanup I think we should merge this anyway and then go look for someone who can fix things.

Addresses #1144

@LourensVeen LourensVeen force-pushed the issue-1144-new-continuous-integration branch 2 times, most recently from f448f7b to 47193d2 Compare May 13, 2026 07:50
@LourensVeen LourensVeen force-pushed the issue-1144-new-continuous-integration branch 8 times, most recently from 28ff8d0 to 80de3ba Compare May 18, 2026 08:50
@LourensVeen LourensVeen force-pushed the issue-1144-new-continuous-integration branch from 80de3ba to 5fd5788 Compare May 18, 2026 09:20
@LourensVeen
Copy link
Copy Markdown
Member Author

It turns out that getting working MPI and compilers with Homebrew and MacPorts isn't easy. I'd like to get this merged, so I'm going to remove those tests for the time being, so that we at least have per-code tests on Ubuntu and macOS, plus an all-up conda based install and test.

@LourensVeen LourensVeen force-pushed the issue-1144-new-continuous-integration branch from bd9b25e to 028b929 Compare May 19, 2026 09:39
@LourensVeen LourensVeen marked this pull request as ready for review May 19, 2026 09:39
@LourensVeen LourensVeen requested a review from a team as a code owner May 19, 2026 09:39
@LourensVeen
Copy link
Copy Markdown
Member Author

LourensVeen commented May 19, 2026

Okay, I think this is ready to go now. Some of the codes are still failing consistently:

There are also still intermittent timeouts and infrastructure failures, probably because these tests are quite heavy, use MPI, and because this PR runs all of them simultaneously. It's better than it was though due to additional OpenMPI configuration and a switch to MPICH on the macOS side. In normal circumstances code-specific tests will run only for PRs touching that code.

This does not include weekly regression tests for macOS with Homebrew and MacPorts, because I had trouble setting those up correctly. You don't just install a compiler or an MPI library with these things and have a working setup. It would help if someone with more mac expertise could do a nice clean setup for that.

Let's merge this and continue to set up our custom runner, and also to fix the codes so that everything passes all the time and we don't have broken windows anymore.

@rieder
Copy link
Copy Markdown
Member

rieder commented May 19, 2026

Ok for me - not sure how #1248 broke MESA but this is not the right place to discuss about that

@LourensVeen
Copy link
Copy Markdown
Member Author

Make doesn't work if you use spaces instead of tabs 😄

Copy link
Copy Markdown
Member

@rieder rieder left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There seem to be a lot of non-CI changes (e.g. to Makefiles) in this PR, is that by design or by accident?

@rieder
Copy link
Copy Markdown
Member

rieder commented May 19, 2026

Make doesn't work if you use spaces instead of tabs 😄

🤦
(that's easy to fix though)

@LourensVeen
Copy link
Copy Markdown
Member Author

By design, it includes some fixes for issues I ran into:

  • Make aarsethzare, fractalcluster, galactics and krome use the Fortran compiler detected by autoconf, rather than its default, which doesn't always work
  • Use LDFLAGS when linking adaptb's executable, to ensure libs are found correctly
  • Skip overly expensive tests that don't run (well) on the CI in gadget2, hermite, mesa-r15140, petar, and the framework tests.
  • Specify precision in galactics test, IIRC the default changed after this test was written
  • Compile hermite_grx as C++11 explicitly to avoid compiler errors
  • Fix C++ compile issue in mi6, register keyword is obsolete
  • Use python -m pip install instead of pip install in tupan build for better reliability (and to make it work on the CI)
  • Fix resource leaks and other small issue in the framework tests
  • Fix automatic installation of mpi4py in a venv on macOS

and somehow a bunch of whitespace fixes in concurrent.py snuck in, sorry.

@github-project-automation github-project-automation Bot moved this from Backlog to Done in Development Board May 22, 2026
@rieder
Copy link
Copy Markdown
Member

rieder commented May 22, 2026

Looks good

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants