-
Notifications
You must be signed in to change notification settings - Fork 229
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
Update standard "development" version indicator to use 0xFF #440
Comments
This was discussed in today's CCB, and also in discussion on nasa/cFE@e5be061 My concern is that all three numeric version numbers (major, minor, revision) are important for identification of what the real software baseline is, and important to keep this accurate within HK TLM, even for development versions. Even if that baseline information may exist in the form of a string, this is not ideal because that string doesn't follow a strict format, nor is it easily possible to compare a string and determine simple things like "is this version newer than that one"? Strings are OK for humans to read, but not so good for scripts. For example, a feature/command may have been added in one version of the software, and a test script may need to know what version is running to decide whether or not to send a particular command. So it is beneficial to make the version number meaningful for scripts and tools, not just humans, and strings don't work well in that regard. Problem ContextOriginally when versioning was discussed during the Bootes versioning cycle, the following was accepted as truth:
Because of rule (1) and (2) above it meant that use of However, as discussed at 2022-03-23 CCB, this is no longer the case, really. Due to the release process timeline far exceeding most real project schedules and deadlines, it is not practical for end-users to wait for official release status. As a result, use of In most open source projects, versions numbers are bumped up at the discretion of the development team, once milestones were met. However, due procedures and policies unique to CFS, historically the development team has not been able to update the version number, because a version number update implied "official release" which in turn implied that the full release cycle was done, but this takes years. Possible SolutionIf the policies and procedures permit, the "official release" implication/designation could be associated with something other than the numeric version. This would free the dev team up to bump the self-reported version numbers whenever meaningful functionality has been achieved and acceptance testing has passed, much like every other project manages version numbers. The advantage is:
In short, decoupling the notion of "what went through the complete/official SRA legal review process" and "what software is stable and high-quality such that end-users can deploy it and expect it to work" would do a lot of good, both for internal and external users. |
Add link to cfs_versions.dox for documentation Add note on CFE_MISSION_REV = 0xFF situation referring to nasa/cFS#440
Add link to cfs_versions.dox for documentation Add note on CFE_MISSION_REV status (nasa/cFS#440)
Add link to cfs_versions.dox for documentation Add note on CFE_MISSION_REV status (nasa/cFS#440)
Add link to cfs_versions.dox for documentation Add note on CFE_MISSION_REV status (nasa/cFS#440)
Add link to cfs_versions.dox for documentation Add note on CFE_MISSION_REV status (nasa/cFS#440)
Checklist (Please check before submitting)
Is your feature request related to a problem? Please describe.
Historically, setting the Revision number to "99" indicates that the source code in question is a "development" version and thus hasn't been fully tested.
In nasa/osal#824, we put this information in the Mission_Rev instead and set it to "0xFF". This pattern has a couple of problems:
Describe the solution you'd like
Describe alternatives you've considered
Keep Revision = 99
Additional context
Need to open related Issues in other cFS component repositories
Requester Info
Gerardo Cruz-Ortiz, NASA
The text was updated successfully, but these errors were encountered: