Hi Everyone,
I am currently working on a proposed
change to ADCore to use
pvi to generate template and header files during the build.
This works on 3.14 locally and in GitHub Actions with ci-scripts. The files are generated during the build, and it completes. If I change a yaml file only the relevant files are regenerated and rebuilt against. However, in CI on 3.15 (and 7) I see two problems.
- Rules are not being run to regenerate existing files even though the sources are
newer than the targets.
When the files exist, it does not consider the yaml file as a pre-requisite at all in
3.15, where it does in 3.14, so it just installs the
existing file. The rules do run on 3.15 if the targets do not exist at all, but in a preliminary step before the rule for installing to db/ - see
here.
Is it because of slightly strange rules to generate the files in the source location and then copy them? Maybe the dependency isn't tracked properly in 3.15? The pvi rules are defined
here.
- When the templates don't exist and are generated, it then tries (and fails) to create *template.d files - see
here
Perhaps I need to use a separate PVI_DB to define those that need to be generated, but I am not sure if the rebuild detection will work as it does now when the yaml files are changed.
The second problem is not so important, but it would be good to demonstrate that the build works when the files are generated from scratch. The first problem is a blocker - the files must be regenerated when the yaml files are changed.
Does anyone know what I am doing wrong?
Note I have rebased my ADCore branch on Michael's
branch integrating ci-scripts for CI, but I couldn't get 3.14 builds working to compare against, so I reverted to my version. There are builds for this branch demonstrating the same problems
here and can do more from that base if it is useful.
--
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd. Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message. Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom
|