Open
Description
Problem
SDKs do not pin several dependencies, which leads to builds breaking unexpectedly. Here are the floating dependencies:
- algorand-sdk-testing
- generator
- go-algorand
- indexer
- sandbox
We encountered a situation where changes in upstream dependencies broke SDK builds. Resolving the root issue cause took days because it took time to triage when the breaking change was introduced. Additionally, there were 2 (not 1) breaking changes. Related upstream changes:
- New Feature: Add Retry Variables indexer#1370 - Patched via conduit: Added retry variables for daemon run indexer#1380
- sandbox cannot bring up indexer sandbox#161
Consequently, the story requests installing build triggers based on upstream dependency changes.
- When one of the listed dependencies makes a change available (e.g. merge to known branch, release nightly artifact, etc), each SDK ought to run its build.
- The intent is to isolate a breaking change, which ought to simplify triaging efforts.
Alternatively, we can pin dependencies. Doing so involves process changes. Open to discussion provided the approach accounts for keeping dependencies up-to-date.