Hi, We have multiple projects that all have their dependencies. Dependency management and updates is not something we have really looked at yet. It does become more important the further we go.
For now I just want to focus on the SI only. There are more dependencies but most are just for the core or just for a shim. Go handles that in most cases. However the integrated build and the fact that we have not defined backwards compatibility can cause issues with the SI. The SI is used by the core and shim(s). Without backwards compatibility we need to keep the core and shim in sync for the version. We should not just update the SI version in either repo without a full test and thinking through the consequences. When we get to a version 1.0 of the SI we also need to document the rules about what we can change in a minor version of the SI. We should also define if we allow a core to be built with a newer version of the SI compared to the shim(s). I have not tested if that currently even works with the setup we have. When adding new functionality that requires a SI update the shim and core need to be kept in sync. Currently the order in which we update must always be: 1. scheduler interface 2. core 3. shim(s) If that update order is not maintained the build, specifically of the shim, will break. For any SI updates please coordinate with the rest of the community as these are the steps that are currently required: - update the SI, commit the change - update the SI dependency in the core, commit the change - update the SI and core dependency in the shim, commit the change Wilfred
