Open antifuchs opened 3 hours ago
Not quite, interpolateToString
is dead code and was missed during the pydantic refactor. The breakage you're experiencing is due to pydantic sucking a lot at field renames. See the following. The fix here is for me to give up and not use _type
on the nix side but rather nix_type
as both _type
and type
are reserved on the Python side, former by pydantic and latter by Python.
In fact this used to work, I'm sure of it so some update of our dependencies must have somehow broken this.
I'll create a PR probably tomorrow, or you can if I managed to explain myself correctly :)
Wait nevermind, I see it.I'll do a quick PR now
@antifuchs done, you can test the PR but it should work, I've tested it.
Using
inputs.buildbot-nix.lib.interpolate
with thepostBuildSteps.*.environment
option doesn't result in the call toutil.Interpolate
being made in the resulting configuration; instead, the nix config writes{"value": "%(prop:attr)s", "_type": "interpolate"}
to the configuration file, which then fails the config test:with the config file portion generated like this:
This is the log message that happens on startup:
I believe that happens because the
interpolateToString
function defined in master.nix isn't called on those environment values.