-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Useless GH actions for cache in FreeBSD workflow #5797
Comments
Sounds good! Would you like to put up a PR for this? |
I'm currently doing some tests (WIP to add CI for OpenBSD :), GH workflow similar to the FreeBSD one). I will propose a fix/PR to support Rust cache in the FreeBSD workflow and some improvements inspired by the FreeBSD workflow from the rustup project. |
Status of my work on FreeBSD workflowAfter some analysis and (a lot of) tests, I have a working "rework" of the FreeBSD workflow using Reorg of FreeBSD workflowThe workflow have 2 jobs :
The both jobs are executed with the vmactions/freebsd-vm action : FreeBSD stable (current version 14.0) VM runned in Ubuntu I have reorg the code of the workflow, inspired by the job Both jobs started with
With this separation between jobs defined in workflow (YAML format) and shell scripts, it's easier to modify them if needed. I have also remove the definition of the jobs matrix (GH runner is always Action mozilla-actions/sccache-action(The easiest part) This action is only used in "Tests" job (not used for
During the "Tests" job, sccache is correctly used by After some tests, I found that this action is not very useful : cache hits are low => only 3 / 193 compile requests. I'm waiting your comments to decide if we must keep this action or suppress it. Action for Rust cache Swatinem/rust-cacheAction used in the both jobs : "Style and Lint" and "Tests". In the "Configure" step of this action, a cache key is created using Rust version (get via I created a shell script to fake the output of
In the FreeBSD VM action, I enabled the
After some runs, using Rust cache is efficient:
You can check a complete run of this modified workflow on my own repository https://github.com/lcheylus/rust-coreutils/actions/runs/7552906886 You could also check my modified code on it (ugly I'm waiting your comments before splitting/rebasing my work in a separate branch and submitting a PR for merge. |
@sylvestre @tertsdiepraam Comments welcome. |
Sounds good, let's do it :) |
In FreeBSD GH workflow (defined in
.github/workflows/freebsd.yml
), GH actions are used to cache the Rust build artefacts:Theses actions are useless because the Rust build artefacts are not copied back from FreeBSD guest to Ubuntu GH runner after build:
sync: rsync
copyback: false
.Proposal to remove the 2 actions in FreeBSD workflow or to fix sync of files between guest/host after build to use cache.
The text was updated successfully, but these errors were encountered: