NixOS / hydra

Hydra, the Nix-based continuous build system
http://nixos.org/hydra
GNU General Public License v3.0
1.1k stars 291 forks source link

Use `ServeProto::Serialise<ServeProto::BuildOptions>` #1324

Closed Ericson2314 closed 6 months ago

Ericson2314 commented 7 months ago

The interesting part is the preparatory commit:

Do not attempt to speak a newer version of the protocol

Both sides need to agree on a version (with std::min) for anything to work. Somehow... we've never done this.

With this comment, the next commit succeeds. Without this commit, the next commit fails. This is because the next commit exposes serializers which do different things for proto version 2.7, and we're currently requesting 2.6.

Opened https://github.com/NixOS/nix/issues/9584 to track this issue

Ericson2314 commented 6 months ago

https://github.com/NixOS/nix/issues/9584 is now idea-approved, which is the one question I had for this. The rest is entirely rote using serializers and changing no behavior, so I will merge this.