Open mc4117 opened 5 years ago
As thetis is a single repository, making a manual zenodo release is quite straightforward. With firedrake this is more involved as you need to bundle up all the firedrake components, so having a dedicated firedrake-zenodo utility makes sense.
However, in order to have a functional thetis release, the full firedrake software stack should be included as well. So I think the right way would be to install thetis with firedrake-install and then make a release with firedrake-zenodo which would store thetis sources as well (currently it does not include thetis).
However, in order to have a functional thetis release, the full firedrake software stack should be included as well. So I think the right way would be to install thetis with firedrake-install and then make a release with firedrake-zenodo which would store thetis sources as well (currently it does not include thetis).
To do this, we could add an option to firedrake-zenodo that automatically builds a thetis release and links it all together (this is not difficult). I think we don't always want to release thetis when cutting a firedrake release (just because we have thetis installed doesn't necessarily mean that we want a thetis release).
So we'd support
firedrake-zenodo --with-thetis OPTIONAL_HASH
And then it's just a matter of the person running the release having the necessary oauth scope to make thetis releases.
Yeah, that sounds like a good solution.
@wence- How much work would it be to get thetis included in firedrake-zenodo? I think this would be the best solution in the long run.
Here's and example Firedrake/Thetis bundle that I'd need:
{
"firedrake": "6325260b65533c944c5d81d3c5c9f2767147df31",
"PyOP2": "93d6ea5c47db5b85ae21ee48d2ff3e619eba5f21",
"tsfc": "d961ab4834d00cc17467a97829750552a1b25324",
"COFFEE": "72a4464aa18fd408de5304ac467db18d7af2b670",
"ufl": "e50f7c7da0e89c3eda9b35be48bc5e99808c8b4d",
"FInAT": "2f0e0bd61fd5800920ed66a2c3347d4d916c0045",
"fiat": "a8c4d489da0d783921e2e9e261e43717b8a28882",
"petsc": "905158c6f9a6776daf927fe3564cfe0f0afe9e21",
"petsc4py": "8d31d1a339b1ea14fd5273d4edd608797e3aefc5",
"loopy": "92526c8df50d6a276a0e1f30ea7be4c2e052dd52",
"thetis": "e797de62710fc7fd38cb232a8d78afd6c0f93c61",
"metarelease_info_file": null,
"title": "Thetis and Firedrake source code used in publication 'Plume spreading test case for coastal ocean models'"
}
Currently releasing a version of Thetis through zenodo is a manual process. It would be nice if this could be done automatically, the same way as already occurs using firedrake-zenodo with firedrake.