Pollination upgrade procedure - BHoM/LadybugTools_Toolkit GitHub Wiki
'Pollination' is an installer that packages Ladybug, Honeybee and related tools into a single exe. LadybugTools_Toolkit extends Ladybug functionality, and thus depends on having the correct version of Pollination installed. Each version of the BHoM supports one version of Pollination. The supported version is currently hard-coded into LBT_TK. It is intended that the version of Pollination supported by each version of the BHoM roughly keeps up with release schedule of Pollination itself.
Since only the Beta version of the BHoM is comprehensively tested, it is intended that the version of Pollination will be updated no more than once per milestone to align with the Beta release schedule. The version of Pollination that will be tested for an upcoming Beta release will be selected and 'frozen' approximately 5 weeks before the date of this Beta release. This should provide enough time to test the new version of Pollination against the develop branch of LBT_TK, and to develop and test any fixes required.
The process for determining whether to upgrade Pollination in a milestone is as follows:
- Approximately 5 weeks before the proposed beta release date, an issue will be raised on LBT_TK to propose an upgrade to the Pollination version for the upcoming BHoM beta release. The issue will include the exact version number of the proposed version of Pollination. This issue is then used for key users to discuss whether the version of Pollination should be upgraded or not.
- If it is agreed to not upgrade the version of Pollination on the upcoming BHoM beta release, then the issue will be closed, citing the reason why. Valid reasons can include that the proposed version of Pollination introduces breaking changes to LBT_TK, or does not include enough new functionality or fixes to justify the resources needed to test and upgrade LBT_TK against the new version of Pollination.
- If it is agreed to upgrade the version of Pollination on the upcoming BHoM beta release, then the issue is kept open.
- If no consensus can be reached, then the default position is that the version of Pollination supported in BHoM will not be changed in this milestone.
If the above process concludes that Pollination will be upgraded, then:
- It is recommended that key users and developers archive their own copy of the Pollination installer, as the official website does not currently provide historical versions.
- Key users of Pollination will use the issue to identify any key changes that may require testing or modification to the
develop
branch. - The development team will then implement these changes on a new branch, linked to this issue, and then raise a PR to merge these changes into
develop
. - If required, the development team will also update any relevent test procedures.
- Where the branch cannot be merged with all issues resolved prior to the start of testing sprint, then the branch will be discarded and the supported version of Pollination will not change for the upcoming beta release.
- The branch is then tested and merged into
develop
prior to testing sprint in the usual manner. - Prior to beta creation, LadybugTools_Toolkit is tested in testing sprint in the usual way. Testers must ensure that they have the proposed version of Pollination installed on their machine.
It is generally not anticipated that upgrades to the Pollination version will happen outside of this procedure, as it is constrained by the BHoM beta release cycle. Exceptions may be considered on a case by case basis, and will normally only be accepted when in conjunction with an out-of-cycle BHoM beta release (e.g. in the case of an exceptional bug patch).