You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We still have problems with the current solution caching the build CLI tool binary in GitHub Actions. These problems occur especially with branches that have changes on the build CLI tool and have multiple CI runs.
The following problems has been detected:
The cached binaries are saved among master and all branches which lead mismatched versions in case an action runs on master between two actions runs in the PR branch (Which happened in Protocol based on serde #2161)
Any changes in a branch after changing Cargo.toml file won't trigger building new binaries because we are keeping track on the changes on Cargo.toml file in the build CLI tool directory only.
Suggetions:
Having a cache for each branch:
This would solve the first issue but won't solve the second one. Besides, the binary will be built for each branch at least once disregarding if it introduced changes to the build CLI or not
Keep track on all code files in Build CLI tool directory:
With keeping track on all code files instead of cargo.toml only we solve the second problem, but the first one will still unresolved.
Installing the CLI on each run and use other caching tools:
We can explore other cache tools in the rust community like sscache and install the tool with --locked flag. With this approach we don't need to recompile the already cache binary artifacts reducing the build time significantly
The text was updated successfully, but these errors were encountered:
We still have problems with the current solution caching the build CLI tool binary in GitHub Actions. These problems occur especially with branches that have changes on the build CLI tool and have multiple CI runs.
The following problems has been detected:
Cargo.toml
file won't trigger building new binaries because we are keeping track on the changes onCargo.toml
file in the build CLI tool directory only.Suggetions:
Having a cache for each branch:
This would solve the first issue but won't solve the second one. Besides, the binary will be built for each branch at least once disregarding if it introduced changes to the build CLI or not
Keep track on all code files in Build CLI tool directory:
With keeping track on all code files instead of
cargo.toml
only we solve the second problem, but the first one will still unresolved.Installing the CLI on each run and use other caching tools:
We can explore other cache tools in the rust community like sscache and install the tool with
--locked
flag. With this approach we don't need to recompile the already cache binary artifacts reducing the build time significantlyThe text was updated successfully, but these errors were encountered: