Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Symlink actions cache#4260

Merged
TingluoHuang merged 7 commits intoactions:mainfrom
paveliak:symlink-actions-cache
Feb 24, 2026
Merged

Symlink actions cache#4260
TingluoHuang merged 7 commits intoactions:mainfrom
paveliak:symlink-actions-cache

Conversation

@paveliak
Copy link
Contributor

Presently we do bunch of IOPS to install 1st-party actions from archive that could be expensive for small VM SKU runners:

  • Tarball is copied into the staging directory
  • Tarball is unpacked there
  • Staging directory is copied into the workspace

With this change unpacked tarballs (if available) are symlinked into the workspace upon starting up the job.

NOTE: this change requires reactive work in the image

@paveliak paveliak requested a review from a team as a code owner February 23, 2026 22:06
Copilot AI review requested due to automatic review settings February 23, 2026 22:06
@paveliak paveliak force-pushed the symlink-actions-cache branch from 6080382 to 6be088d Compare February 23, 2026 22:09
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a feature-flagged optimization to reduce I/O when installing cached action repositories by symlinking an already-unpacked action directory from the runner’s action archive cache into the workspace, instead of copying/unpacking each time.

Changes:

  • Add a new feature flag (actions_symlink_cached_actions) to enable symlinking cached, unpacked actions.
  • Implement a symlink fast-path in ActionManager.DownloadRepositoryActionAsync when an unpacked cache directory is present.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
src/Runner.Worker/ActionManager.cs Adds the symlink-from-unpacked-cache fast-path before falling back to the existing archive-cache/copy/extract logic.
src/Runner.Common/Constants.cs Declares the new feature flag string constant used to gate the behavior.

@TingluoHuang TingluoHuang merged commit 052dfbd into actions:main Feb 24, 2026
11 checks passed
dawidmalina pushed a commit to dawidmalina/github-runner that referenced this pull request Feb 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants