-
Notifications
You must be signed in to change notification settings - Fork 53
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
Add convenience check if customised ROBOT report config is out of date and update default config #998
Conversation
This adds a convenience script to check if the ROBOT report config is missing anything added to ROBOT since.
This should have happened earlier.
I don’t understand the point of this. Let’s say a new test is added to the ROBOT’s master branch. What good does it do to ODK users to know that a new test is available in a version of ROBOT that is not the version that is included in the ODK, and that may not even be published yet? |
Hmm, it's true that there could be a small lag between master and release, didn't think of that. But I was hoping to make it easier for people who use a custom profile to get notified if ROBOT supports new tests. Already many ontologies I work with use custom profile.txt files, and are 2-6 tests behind what robot has to offer.. maybe you have a better idea of how to make it easy for a user to understand when there are new tests available? |
Given the current frequencies of ROBOT releases, the lag is likely to be quite substantial (a few months at least). What I would suggest is to bundle the ROBOT default profile at build time. That is, we store somewhere in the ODK a copy of the ROBOT profile (let’s say in No need to download anything from the Internet, and this will let people know if there are any tests that are supported by the version of ROBOT available in the ODK that their custom profile does not include. Of course, when we update ROBOT in the ODK (as we do in point releases), we update the profile accordingly, so that |
cc @gouttegd Is this what you mean? makes sense to me!
Yes, exactly. |
For now, when building the image, we download the ROBOT report profile for the current version of ROBOT (the version used in the ODK) and put it in /tools/robot_report_profile.txt. We do that so that we can check, as part of the standard workflow, whether the custom profile that the project may be using is not lacking any new tests that are available in the current version of ROBOT (see #998). Here, we simply move the location of the profile file within the image, from /tools/robot_report_profile.txt to /tools/templates/src/ontology/profile.txt This does not change how the check mentioned above works (we just update the path involved in that check), but this will have the benefit of automatically installing the ROBOT profile when seeding a repository, since the file is now within the template directory used by the seeding system. Therefore, we can remove the 'src/ontology/profile.txt' block from the dynamic template pack (which needed to be manually updated by us whenever we updated ROBOT -- something I don't think we have really been doing). But we do not want to _always_ install this profile.txt file in a seeded repository -- we only need to do that when the use of a custom profile is enabled in the configuration (that was the reason why the profile was part of the dynamic template pack). To avoid installing the file when a custom profile is _not_ enabled, we use the recently introduced per-template policies system: we set the policy for the 'src/ontology/profile.txt' template to NEVER if a custom profile is not enabled. closes #999
For now, when building the image, we download the ROBOT report profile for the current version of ROBOT (the version used in the ODK) and put it in /tools/robot_report_profile.txt. We do that so that we can check, as part of the standard workflow, whether the custom profile that the project may be using is not lacking any new tests that are available in the current version of ROBOT (see #998). Here, we simply move the location of the profile file within the image, from /tools/robot_report_profile.txt to /tools/templates/src/ontology/profile.txt This does not change how the check mentioned above works (we just update the path involved in that check), but this will have the benefit of automatically installing the ROBOT profile when seeding a repository, since the file is now within the template directory used by the seeding system. Therefore, we can remove the 'src/ontology/profile.txt' block from the dynamic template pack (which needed to be manually updated by us whenever we updated ROBOT -- something I don't think we have really been doing). But we do not want to _always_ install this profile.txt file in a seeded repository -- we only need to do that when the use of a custom profile is enabled in the configuration (that was the reason why the profile was part of the dynamic template pack). To avoid installing the file when a custom profile is _not_ enabled, we use the recently introduced per-template policies system: we set the policy for the 'src/ontology/profile.txt' template to NEVER if a custom profile is not enabled. closes #999
Fixes #552
This PR: