-
Notifications
You must be signed in to change notification settings - Fork 32
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
Version should follow CalVer #183
Comments
fully agree. good thing is you can still edit the name of the release on github and you can simply tag the same commit with the correct string (even without deleting the old one) |
Yes my bad that was just a mistake for 16.04.21a If we are using calver, which is fine, then lets use it properly with full years so that it is clear to people that this is a date:
The releases already get sorted by date not version identifier, so TBH I don't really think this is so much of an issue. None of the OVAs have a Note the known "issues" for this release are
For (1) and (2) I really don't want to waste anymore time on this, if we are anyhow moving to Conda installs (#161) (plus I did not have any further feedback on them from those responsible for these codes) Additionally, for the common-workflow package, it would potentially be possible to include this in the distribution. But only really if the plugin dependencies of that package were moved to extras, so that they did not clobberthe existing versions of installed packages, or if it was installed in a separate virtual environment. |
Pinging @sphuber as he's looking into ensuring that all codes work in the aiida-common-workflow package. I think we're fine with 3, and for 1 and 2 we can keep the current binaries unless we find a fix in the next few days, and we'll add a note. But we'll need to the aiida-common-workflows in the next release (~1 week?). The other issue to fix before release is #171 |
No problem, it can happen. @ltalirz suggested some fixes above
While I agree it makes it clearer, I'm not sure this is "needed", e.g. on https://calver.org it shows both options are used (notable example of 2-digit year: pip).
Yes and no - it does not matter on the web interface, but it matters if a scripts tries to figure out the most recent released version. We don't have a pip package luckily :-) but people might try to get e.g. the most recent docker image if we have or will have one at some point e.g. on docker hub.
No, I think that's OK and should be consistent with earlier versions (v for tags and not for versions) - I just meant to double check we're consistent. The only thing that has changed is in the releases page, where the most recent versions are:
So the most recent follows a different naming scheme. |
then the key things ideally is that (a) it needs to be able to be installed without intefering with the existing environment (this is exactly what I've just been through with aiidalab, where I basically got them to rewrite it to not enforce non-essential dependencies and remove absolute pinnings 😬), like aiidalab, aiida-common-workflows will be installed with a constraints file, enforcing it can not change the aiida-core version, its dependencies or the plugin versions (b) it should implement a "testing" CLI command, to run a "minimal" computation for each plugin, that QM can use an integration test that the plugins and their codes are nominally working |
This is going to be tricky. Best I can do is to have just a lower requirement. Since we are actively developing these plugins, for them to work with the
This is more or less there, but not for all plugins and we cannot provide this for all plugins, because not all codes are freely distributed and can therefore be included in the QM. Even for some plugins where it is possible (i.e. Siesta, Abinit and QE) but it needs some additional resources to be installed, i.e. pseudo potentials. At least for the latter two, this is straightforward as it can be done in a single command through the |
when it breaks the environment, as was previously happening with aiida-fleur. QM specifically sets (and documents) the plugin versions,
Yeh the CLI command would allow for specifying which plugin(s) to run for
well I would think we may want these resources to be pre-installed on QM
Not really; the unit tests obviously do not run against the actual simulation codes. I want something that will properly run a (minimal) end-to-end computation with the aiida codes |
I can see that, but that will be practically impossible at this stage. If we cannot have the latest version of most if not all plugins, the common workflows are simply broken and so pointless to install them. Who else has very specific requirements on plugins?
The CLI commands do already allow to specify a specific plugin so that is ok. Currently there are only commands to submit a full workchain, so the test would have to require a running daemon etc.
I am all for that. Both Abinit and QE use
Ok then the CLI is exactly what you are looking for |
(As discussed in person with @chrisjsewell)
So the version should be (
yy.mm.xx
, e.g.21.04.xx
), and notdd.mm.yy
; whereyy
is the 2-digit year, andmm
the 2-digit month.Moreover, typically
xx
is just a sequential number within the month, so the first april 2021 version is 21.04.0, then 21.04.1 etc.This is important for sorting correctly the versions, among other things (but also, very simply, for consistency with the version names of earlier versions).
Also, please check what was done earlier, and if there was a
v
or not in front of the version (and where - there might be differences between the git tags (that have it) and the actual name of the version of the OVA (that does not), again for consistency and proper sorting of versions. Check earlier versions e.g. here and here, and tags here.As an additional note, since the discussion for CalVer vs. SemVer popped out: I think for QMobile (as well as for other bit software collections) it makes more sense to (continue to) use CalVer (this was a conscious choice, pinging also @ltalirz) as you want to know "this is the version of April 2021", that implicitly tells you which version of all the software included you might expect to find, and (if you already have it installed) how "old" the VM is. Also, for Quantum Mobile, there is much less the concept of "backward-incompatible" changes, like in SemVer. Finally, a SemVer for Quantum Mobile risks to be confusing with the versions of the codes inside.
For a code, instead, using SemVer makes more sense (e.g. AiiDA, a Quantum code, ...).
Therefore, I would strongly advise to continue using CalVer for QMobile, or have a discussion if there are good reasons to change that are not listed here.
The text was updated successfully, but these errors were encountered: