In #4758 I fixed the urgent bug with PYO3_CONFIG_FILE changes not correctly triggering rebuilds.
I think we can take action to ensure we don't have a similar accident again. I was playing around with various ideas, I've seen two so far which I think make sense:
- A lot of
pyo3-build-config APIs require being run in a build script. I wonder if we should have something like a BuildScriptContext struct which all those APIs take, and it can collect info about environment accesses so that we can both test them and emit to cargo reliably.
- We can add clippy configuration to ban direct environment variable access, as suggested by @alex .
In #4758 I fixed the urgent bug with
PYO3_CONFIG_FILEchanges not correctly triggering rebuilds.I think we can take action to ensure we don't have a similar accident again. I was playing around with various ideas, I've seen two so far which I think make sense:
pyo3-build-configAPIs require being run in a build script. I wonder if we should have something like aBuildScriptContextstruct which all those APIs take, and it can collect info about environment accesses so that we can both test them and emit to cargo reliably.