-
-
Notifications
You must be signed in to change notification settings - Fork 112
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Rm workspace crates version before caching #147
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a really interesting approach, and I believe this works, as we are indeed only interested in non-workspace crates.
Can you check that the relevant files are still listed in the info output of the action?
Also, I think you would have to do the same filtering/nulling of workspace dependencies in the Cargo.toml
files, as you can have dependencies such as workspace-crate = { path = "path/for/local/development", version = "1.0.0-version-for-installing-via-cratesio" }
Sorry I am confused. |
Thanks! |
By that I mean the summary information that is printed by the action, this thing here:
It should still list these files in the "lockfiles considered" section. Even though you are not hashing the literal file, but rather using more targeted information from them. |
Thanks! |
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>
@Swatinem Sorry I forgot to update the |
Thanks for sticking with this, great work! |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [Swatinem/rust-cache](https://github.com/Swatinem/rust-cache) | action | minor | `v2.4.0` -> `v2.5.0` | --- ### Release Notes <details> <summary>Swatinem/rust-cache</summary> ### [`v2.5.0`](https://github.com/Swatinem/rust-cache/releases/tag/v2.5.0) [Compare Source](https://github.com/Swatinem/rust-cache/compare/v2.4.0...v2.5.0) #### What's Changed - feat: Rm workspace crates version before caching by [@​NobodyXu](https://github.com/NobodyXu) in [https://github.com/Swatinem/rust-cache/pull/147](https://github.com/Swatinem/rust-cache/pull/147) - feat: Add hash of `.cargo/config.toml` to key by [@​NobodyXu](https://github.com/NobodyXu) in [https://github.com/Swatinem/rust-cache/pull/149](https://github.com/Swatinem/rust-cache/pull/149) #### New Contributors - [@​NobodyXu](https://github.com/NobodyXu) made their first contribution in [https://github.com/Swatinem/rust-cache/pull/147](https://github.com/Swatinem/rust-cache/pull/147) **Full Changelog**: Swatinem/rust-cache@v2.4.0...v2.5.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/zharinov/verver). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMjYuMCIsInVwZGF0ZWRJblZlciI6IjM1LjEyNi4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [Swatinem/rust-cache](https://github.com/Swatinem/rust-cache) | minor | `v2` -> `v2.7.2` | --- ### Release Notes <details> <summary>Swatinem/rust-cache (Swatinem/rust-cache)</summary> ### [`v2.7.2`](https://github.com/Swatinem/rust-cache/releases/tag/v2.7.2) [Compare Source](https://github.com/Swatinem/rust-cache/compare/v2.7.0...v2.7.2) #### What's Changed - Update action runtime to `node20` by [@​rhysd](https://github.com/rhysd) in [https://github.com/Swatinem/rust-cache/pull/175](https://github.com/Swatinem/rust-cache/pull/175) - Only key by `Cargo.toml` and `Cargo.lock` files of workspace members by [@​max-heller](https://github.com/max-heller) in [https://github.com/Swatinem/rust-cache/pull/180](https://github.com/Swatinem/rust-cache/pull/180) #### New Contributors - [@​rhysd](https://github.com/rhysd) made their first contribution in [https://github.com/Swatinem/rust-cache/pull/175](https://github.com/Swatinem/rust-cache/pull/175) - [@​max-heller](https://github.com/max-heller) made their first contribution in [https://github.com/Swatinem/rust-cache/pull/180](https://github.com/Swatinem/rust-cache/pull/180) **Full Changelog**: Swatinem/rust-cache@v2.7.1...v2.7.2 ### [`v2.7.0`](https://github.com/Swatinem/rust-cache/releases/tag/v2.7.0) [Compare Source](https://github.com/Swatinem/rust-cache/compare/v2.6.2...v2.7.0) ##### What's Changed - Fix save-if documentation in readme by [@​rukai](https://github.com/rukai) in [https://github.com/Swatinem/rust-cache/pull/166](https://github.com/Swatinem/rust-cache/pull/166) - Support for `trybuild` and similar macro testing tools by [@​neysofu](https://github.com/neysofu) in [https://github.com/Swatinem/rust-cache/pull/168](https://github.com/Swatinem/rust-cache/pull/168) ##### New Contributors - [@​rukai](https://github.com/rukai) made their first contribution in [https://github.com/Swatinem/rust-cache/pull/166](https://github.com/Swatinem/rust-cache/pull/166) - [@​neysofu](https://github.com/neysofu) made their first contribution in [https://github.com/Swatinem/rust-cache/pull/168](https://github.com/Swatinem/rust-cache/pull/168) **Full Changelog**: Swatinem/rust-cache@v2.6.2...v2.7.0 ### [`v2.6.2`](https://github.com/Swatinem/rust-cache/releases/tag/v2.6.2) [Compare Source](https://github.com/Swatinem/rust-cache/compare/v2.6.1...v2.6.2) ##### What's Changed - dep: Use `smol-toml` instead of `toml` by [@​NobodyXu](https://github.com/NobodyXu) in [https://github.com/Swatinem/rust-cache/pull/164](https://github.com/Swatinem/rust-cache/pull/164) **Full Changelog**: Swatinem/rust-cache@v2...v2.6.2 ### [`v2.6.1`](https://github.com/Swatinem/rust-cache/releases/tag/v2.6.1) [Compare Source](https://github.com/Swatinem/rust-cache/compare/v2.6.0...v2.6.1) - Fix hash contributions of `Cargo.lock`/`Cargo.toml` files. ### [`v2.6.0`](https://github.com/Swatinem/rust-cache/releases/tag/v2.6.0) [Compare Source](https://github.com/Swatinem/rust-cache/compare/v2.5.1...v2.6.0) ##### What's Changed - Add "buildjet" as a second `cache-provider` backend [@​joroshiba](https://github.com/joroshiba) in [https://github.com/Swatinem/rust-cache/pull/154](https://github.com/Swatinem/rust-cache/pull/154) - Clean up sparse registry index. - Do not clean up src of `-sys` crates. - Remove `.cargo/credentials.toml` before saving. ##### New Contributors - [@​joroshiba](https://github.com/joroshiba) made their first contribution in [https://github.com/Swatinem/rust-cache/pull/154](https://github.com/Swatinem/rust-cache/pull/154) **Full Changelog**: Swatinem/rust-cache@v2.5.1...v2.6.0 ### [`v2.5.1`](https://github.com/Swatinem/rust-cache/releases/tag/v2.5.1) [Compare Source](https://github.com/Swatinem/rust-cache/compare/v2.5.0...v2.5.1) - Fix hash contribution of `Cargo.lock`. ### [`v2.5.0`](https://github.com/Swatinem/rust-cache/releases/tag/v2.5.0) [Compare Source](https://github.com/Swatinem/rust-cache/compare/v2.4.0...v2.5.0) ##### What's Changed - feat: Rm workspace crates version before caching by [@​NobodyXu](https://github.com/NobodyXu) in [https://github.com/Swatinem/rust-cache/pull/147](https://github.com/Swatinem/rust-cache/pull/147) - feat: Add hash of `.cargo/config.toml` to key by [@​NobodyXu](https://github.com/NobodyXu) in [https://github.com/Swatinem/rust-cache/pull/149](https://github.com/Swatinem/rust-cache/pull/149) ##### New Contributors - [@​NobodyXu](https://github.com/NobodyXu) made their first contribution in [https://github.com/Swatinem/rust-cache/pull/147](https://github.com/Swatinem/rust-cache/pull/147) **Full Changelog**: Swatinem/rust-cache@v2.4.0...v2.5.0 ### [`v2.4.0`](https://github.com/Swatinem/rust-cache/releases/tag/v2.4.0) [Compare Source](https://github.com/Swatinem/rust-cache/compare/v2.3.0...v2.4.0) - Fix cache key stability. - Use 8 character hash components to reduce the key length, making it more readable. ### [`v2.3.0`](https://github.com/Swatinem/rust-cache/releases/tag/v2.3.0) [Compare Source](https://github.com/Swatinem/rust-cache/compare/v2.2.1...v2.3.0) - Add `cache-all-crates` option, which enables caching of crates installed by workflows. - Add installed packages to cache key, so changes to workflows that install rust tools are detected and cached properly. - Fix cache restore failures due to upstream bug. - Fix `EISDIR` error due to globed directories. - Update runtime `@actions/cache`, `@actions/io` and dev `typescript` dependencies. - Update `npm run prepare` so it creates distribution files with the right line endings. ### [`v2.2.1`](https://github.com/Swatinem/rust-cache/releases/tag/v2.2.1) [Compare Source](https://github.com/Swatinem/rust-cache/compare/v2.2.0...v2.2.1) - Update `@actions/cache` dependency to fix usage of `zstd` compression. ### [`v2.2.0`](https://github.com/Swatinem/rust-cache/releases/tag/v2.2.0) [Compare Source](https://github.com/Swatinem/rust-cache/compare/v2.1.0...v2.2.0) - Add new `save-if` option to always restore, but only conditionally save the cache. ### [`v2.1.0`](https://github.com/Swatinem/rust-cache/releases/tag/v2.1.0) [Compare Source](https://github.com/Swatinem/rust-cache/compare/v2.0.2...v2.1.0) - Only hash `Cargo.{lock,toml}` files in the configured workspace directories. ### [`v2.0.2`](https://github.com/Swatinem/rust-cache/releases/tag/v2.0.2) [Compare Source](https://github.com/Swatinem/rust-cache/compare/v2.0.1...v2.0.2) - Avoid calling cargo metadata on pre-cleanup. - Added `prefix-key`, `cache-directories` and `cache-targets` options. ### [`v2.0.1`](https://github.com/Swatinem/rust-cache/releases/tag/v2.0.1) [Compare Source](https://github.com/Swatinem/rust-cache/compare/v2...v2.0.1) - Primarily just updating dependencies to fix GitHub deprecation notices. </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/knope-dev/knope). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjcuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
internal: Bump rust-cache action Fixes a Node 16 deprecation warning and also pulls in Swatinem/rust-cache#147, which sounds interesting.
Fixed #146
package.version
inCargo.toml
to0.0.0
{build-, dev-, }dependencies
of workspace crates to0.0.0
Cargo.lock
before cachingSigned-off-by: Jiahao XU Jiahao_XU@outlook.com