Just continuing to do what I can when it comes to the various builds, in particular right now to a) add a flatpak GitHub Action and b) get the builds somewhat harmonized.
I noticed there’s a bit of a difference between which of the submodules from the OpenChemistry/openchemistry repo are being packaged in each build of Avogadro.
The absolute minimum is of course the main repo + avogadrolibs + avogadroapp.
The current release and nightly builds[1], which build against Qt 5, add:
avogadro-i18n* (for localization)
crystals*
fragments*
molecules*
This means they are not packaging:
avogadrodata
avogenerators*
molequeue
jupyter-examples
*Everything marked with an asterisk is also available as a plugin through the plugin downloader in Avogadro.
The avogadroapp test builds on the other hand skip all the optional stuff, as do the current preliminary Qt 6 build matrix.
So that I know what to put in the flatpak, what is the current thinking on what should be going into the distributed builds in 2.0/the first release that is built against Qt 6?
Edit: for any future readers the decision was essentially that Avogadro should in general ship with everything marked with asterisks.
I’m sure you told me this somewhere @ghutchis, but I can’t find it now – it’s the avogadrolibs builds that are the source for the releases and get uploaded to provide the nightly builds, right? The AppImage seems to include the molecules library so I’m assuming so. ↩︎
avogadrodata is for tests jupyter-examples is exactly what it sounds - a set of notebooks for using the openchemistry module in Jupyter
But you most likely want avogenerators even though it’s available as a plugin. I’ve gone back-and-forth about which scripts should “ship by default” (e.g., cclib) and which should be download, but I think most people expect a range of generators.
(Ideally, I’d like to see more of the generators split into separate downloads, but that’s a different topic.)
Ok, sounds good. Would it be a good idea for me to also add the extra submodules (including avogenerators) to the Qt 6 and avogadroapp workflows then so that everything is the same?
Yeah, if you want to update the GitHub workflows (including avogadroapp) that would be super.
It’s probably also worth copying at least the main build_cmake and qt6 actions to openchemistry so changes in that repo can be confirmed too (e.g., that they work on Windows).
Can you enlighten me? Maybe I’m blind… the only difference I can spot is that avogadrolibs explicitly loads crystals/fragments/molecules/i18n, while avogadroapp doesn’t. But doesn’t the recursive clone of openchemistry load all the submodules in both cases anyway?
Ok yeah. Which means that libs/app have the same set of submodules, just at different commits. But is that the desired behaviour? Wouldn’t it be preferable to have both workflows checkout all of the submodules?
Yes, exactly. The difference is that a GitHub action for avogadroapp needs a slightly different checkout call to make sure it gets the pull request in question, not the HEAD of the submodule.
You should consider the current avogadrolibs actions as the latest versions - I haven’t bothered to sync them with avogadroapp because that repo gets far fewer pull requests.