Move the actions/cache step ahead of the dependency install so a
warm cache actually accelerates the install, and replace the
unexpanded $RUNNER_OS shell variable with the ${{ runner.os }}
Actions expression in the cache key and restore-keys.
Fixes#8
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>