[ET Trac] [Einstein Toolkit] #1365: Kranc-generated thorns should be regenerated before the release
Einstein Toolkit
trac-noreply at einsteintoolkit.org
Tue May 28 02:43:55 CDT 2013
#1365: Kranc-generated thorns should be regenerated before the release
---------------------+------------------------------------------------------
Reporter: hinder | Owner:
Type: defect | Status: new
Priority: major | Milestone: ET_2013_11
Component: Other | Version:
Resolution: | Keywords:
---------------------+------------------------------------------------------
Comment (by hinder):
Replying to [comment:4 eschnett]:
> I don't see a reason to change the released version. It has been tested,
it works, so let's keep it that way.
The reason is that it can cause surprise to users who might want to make
modifications to the code. They will regenerate the thorn and see some
unrelated changes. If the changes are minor (formatting etc), I think
they should be included in the point release. If not, then we should just
chalk it up to experience and try to do better next time. We should also
warn people that these thorns might change if regenerated.
Replying to [comment:6 knarf]:
> In the light of this for the future: what would be a good way to do this
automatically? Is there a good way? Doing this automatically would require
a machine with valid license, plus commit credentials on disk. In
addition, it should probably run the testsuites and only commit if they
pass (or something alike). Of course, we could just continue as we did
(but maybe a bit more careful around release-time) - by hand.
The process should be that whenever changes are made to Kranc, an ET
developer (probably the one who made the changes) should verify that the
changes to the generated code look reasonable, and commit them. In case
we forget, we should have an automated system which reminds us. We have
the build VM at UCD which has access to a Mathematica licence server, and
it has been on my to-do list for a while to arrange such a process. It
should be straightforward. My plan would be to have the Kranc-generated
thorns regenerated on the build server after relevant commits in a
separate "build job", and any differences would be classed as "test
failures" for that job, and would be reported to the usual channels. It
would then be up to a developer to verify the changes and regenerate the
thorn. I don't think they should be committed automatically. This would
require the build server (which lives behind a web application) to have
commit access to our code repositories, and it might be tricky to handle
the case of conflicts. It would also require, as you say, that the build
server run the tests on the newly-generated code, and have even more
intelligence about what to do then. I think it is much simpler and safer
to require manual intervention in this case.
Next time, the release process as listed at
https://docs.einsteintoolkit.org/et-docs/Release_Process should be
followed. This includes
> Ensure that any manually-generated files are consistent (i.e. regenerate
McLachlan, WeylScal4 and EinsteinExact from their source with the current
version of Kranc)
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1365#comment:7>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
More information about the Trac
mailing list