In my rust-lang-zephyr project, I have two workflows, both of which use action-zephyr-setup. The main build, uses a toolchains: with two listed, and the docgen just installs one toolchain. However, when the doc runs, with the second toolchains, it fails with a mkdir zephyr-sdk already exists error. I think the problem is that the cache is still being used, but later code decides it needs to be installed because the toolchains are different, and fails since the directory is already there.
Unfortunately, this is kind of difficult to reproduce. I'll add a link to a failure if I'm able to recreated it.