Hot reload support by kkolyan · Pull Request #437 · godot-rust/gdext (original) (raw)

I temporarily downgraded our CI to an older Godot version to unblock open PRs.


About auto-testing of this feature. I've checked test module itest and impressed that there is such a good coverage.

The problem about this feature is that it is editor-level, but itest is game-level.

I see the following approach:

  1. create an editor script that does the following:
    1.1. runs itests (editor-compatible part of them)
    1.2. replaces library with pre-built slightly modified copy (maybe modification timestamp is enough), probably with delay.
    1.3. runs itests again
    1.4. exits
  2. create a scene with that tool
  3. create github action that runs the editor, waits for termination and checks output for errors

Whether the game is worth the candle?

I agree that testing this is likely more involved. I don't think this PR should be blocked on that -- if you did some manual tests, that's already a good start.

But we could think about how to do it in the future, thanks for your suggestions in that regard. This might be nice, but likely quite a huge effort to implement, our current #[itest] infrastructure is not designed for it either. Maybe there's a way that's not too crazy?

We could also check if/how godot-cpp has any tests in this regard...