As it turns out, the generated capnp proto files are not deterministic.
The change introduced in #2878 will break CI, as the diff will never be empty due to this non-determinism.
We still want to add the generated files to our source tree, as this will make IDEs and the go tool chain work out of the box. (e.g. go get just works)
To avoid inconsistencies we add the following 2 mechanisms to our tools/CI:
- Generate the proto files on CI and check that the diff (except for
const schema_x) is empty.
- Write a tool that parses
const schema_x for the file in the source tree and the generated file and compares the two for equality.
We deem 1. necessary in order to get 2878 merged.
2. can be added in a later phase.
As it turns out, the generated capnp proto files are not deterministic.
The change introduced in #2878 will break CI, as the diff will never be empty due to this non-determinism.
We still want to add the generated files to our source tree, as this will make IDEs and the go tool chain work out of the box. (e.g.
go getjust works)To avoid inconsistencies we add the following 2 mechanisms to our tools/CI:
const schema_x) is empty.const schema_xfor the file in the source tree and the generated file and compares the two for equality.We deem 1. necessary in order to get 2878 merged.
2. can be added in a later phase.