Description
Elastic Package allows to resolve "external" fields with references to ECS. The version of ECS to pull the definitions from is defined in the _dev/build.yml
file.
The use of branches there has some problems now:
- If the branch changes, it may change the description of fields, what breaks CI builds for unrelated changes.
- ECS references are cached locally and branches may not be updated, this produces different results on different machines when the referenced branch changes.
Both things generate a lot of confusion and noise in the development process.
I would propose to disallow the use of branches in references to ECS, so only tags and specific commits can be used. Tags would be preferred, but specific commits could be used to use unreleased changes. We would have to see how to avoid the breaking change on packages currently using branches, we might save the reference in a similar fashion to go.sum
for Go modules.
Another thing we probably should do is to detect if the reference has changed, to update the local cache more accurately.