Fixed#146
- Set all `package.version` in `Cargo.toml` to `0.0.0`
- Set `{build-, dev-, }dependencies` of workspace crates to `0.0.0`
- Remove workspace crates from `Cargo.lock` before caching
- Sort all toml objects before hashing them as json
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
Ensure consistency of main and post configuration by storing and
restoring it from state, which in turn ensures cache key stability.
Also:
* Fixed some typos.
* Use core.error for logging errors.
* Fix inverted condition on cache-all-crates.
Reverts: #138Fixes#140
Add the installed packages to the environment element of the cache key
so that CI tooling is considered. This ensures that rust CI tooling is
cached correctly when changes occur. Prior to this a manual key change
or cache expiry would need to occur before CI tools were correctly
cached.