DataAnalyticsEngineering / FANS

FANS: an open-source, efficient, and parallel FFT-based homogenization solver designed to solve microscale multiphysics problems.
GNU Lesser General Public License v3.0
8 stars 2 forks source link

Package FANS automatically after every release #10

Open IshaanDesai opened 2 months ago

IshaanDesai commented 2 months ago

FANS Debian packages can be generated and published after every release. This can be automated via a GitHub Action. A partial implementation exists already: https://github.com/DataAnalyticsEngineering/FANS/blob/develop/.github/workflows/build_and_package.yaml#L48-L59 and needs to be finalized.

siggmo commented 2 months ago

I would work on this issue as well :)

I would again base my work on the preCICE counterpart if that's fine.

Some questions:

IshaanDesai commented 2 months ago

I would again base my work on the preCICE counterpart if that's fine.

Yes of course :smile:

Should we also test the created packages? Like install them in a clean Ubuntu container and run the tests?

If possible yes. But this is usually hard to test, because it can be done only after packages are deployed.

When should the workflow be run? Only when merging to main? Or also on PRs to main, when preparing the new release? Or even on develop already?

I would suggest creating packages for every release (as the title of the issue says). @sanathkeshav would it be okay to have packages only for releases? This would ensure that anyone who installs FANS via a package manager will get a stable and working version.

siggmo commented 2 months ago

Should we also test the created packages? Like install them in a clean Ubuntu container and run the tests?

If possible yes. But this is usually hard to test, because it can be done only after packages are deployed.

We could create the packages and test them in the same action, and abort deployment when the tests fail, ...

When should the workflow be run? Only when merging to main? Or also on PRs to main, when preparing the new release? Or even on develop already?

I would suggest creating packages for every release (as the title of the issue says).

... that's why I thought it might make sense to run the package creation action before the release already. Maybe we can toggle the upload of the packages to only be done when the action runs in a release branch.