-
Notifications
You must be signed in to change notification settings - Fork 204
DEB packaging in Github Actions #370
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
base: develop
Are you sure you want to change the base?
Conversation
| autotools-dev libopenmpi-dev | ||
| sudo apt install -y gcc g++ gfortran m4 patch git wget cmake \ | ||
| libhdf5-dev flex bison autoconf automake unzip patch \ | ||
| autotools-dev libopenmpi-dev python3 freeglut3-dev |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why use Open MPI instead of letting PETSc compile MPICH? What if users install the .deb but have already MPICH installed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could do that, but in my opinion it's better to leave MPI as an external dependency since the user could have other softwares compiled against OpenMPI or MPICH provided by the distribution. The ideal case would be to provide both MPICH and OpenMPI versions of FreeFEM (like hdf5 for instance), but with MPI as an external dependency. I can try that if you want.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The ideal case would be to provide both MPICH and OpenMPI
No, that's a nightmare to maintain, you have two different MPI implementations, with possibility different versions between 22.04 and 24.04. Again, I'm really not sold on the idea of relying on an apt-installed MPI implementation, see, e.g., a very recent bug report https://community.freefem.org/t/freefem-compilation/4150.
|
In 87002f3, I have added an input parameter to full_mpich.yml to deactivate the macos jobs when called from release_deb.yml.
Beyond limiting the number of input parameters, it would allow to have more refined badges (one badge/workflow). What do you think? |
87002f3 to
1187f63
Compare
Here is a new workflow release_deb.yml to build .deb packages of FreeFEM. It works as follow:
Might be clearer with a small flowchart:
flowchart TD subgraph CI: CI@{ shape: lin-rect, label: "Push master/develop\n PR develop"} --> F(full_openmpi.yml) end subgraph Release: Release@{ shape: lin-rect, label: "tag v*.*"} --> |1| R(release_deb.yml) R --> |2|F F --> |3 - Build artifacts| R end R --> |4|DEB@{ shape: stadium, label: "FreeFEM-...-ubuntu-....deb" }The full_openmpi.yml workflow has been modified to be able to be called by the release_deb.yml workflow and be given the following arguments:
The schedule is tight so I didn't create a meta 'release.yml' workflow that calls release_deb.yml, but that's definitely the idea for the future.